diff --git a/equinix/__init__.py b/equinix/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/equinix/services/__init__.py b/equinix/services/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/equinix/services/fabricv4/__init__.py b/equinix/services/fabricv4/__init__.py new file mode 100644 index 00000000..559ea7e2 --- /dev/null +++ b/equinix/services/fabricv4/__init__.py @@ -0,0 +1,460 @@ +# coding: utf-8 + +# flake8: noqa + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +__version__ = "0.1.1" + +# import apis into sdk package +from equinix.services.fabricv4.api.cloud_routers_api import CloudRoutersApi +from equinix.services.fabricv4.api.connections_api import ConnectionsApi +from equinix.services.fabricv4.api.health_api import HealthApi +from equinix.services.fabricv4.api.metros_api import MetrosApi +from equinix.services.fabricv4.api.networks_api import NetworksApi +from equinix.services.fabricv4.api.ports_api import PortsApi +from equinix.services.fabricv4.api.precision_time_api import PrecisionTimeApi +from equinix.services.fabricv4.api.prices_api import PricesApi +from equinix.services.fabricv4.api.route_filter_rules_api import RouteFilterRulesApi +from equinix.services.fabricv4.api.route_filters_api import RouteFiltersApi +from equinix.services.fabricv4.api.routing_protocols_api import RoutingProtocolsApi +from equinix.services.fabricv4.api.service_profiles_api import ServiceProfilesApi +from equinix.services.fabricv4.api.service_tokens_api import ServiceTokensApi +from equinix.services.fabricv4.api.statistics_api import StatisticsApi + +# import ApiClient +from equinix.services.fabricv4.api_response import ApiResponse +from equinix.services.fabricv4.api_client import ApiClient +from equinix.services.fabricv4.configuration import Configuration +from equinix.services.fabricv4.exceptions import OpenApiException +from equinix.services.fabricv4.exceptions import ApiTypeError +from equinix.services.fabricv4.exceptions import ApiValueError +from equinix.services.fabricv4.exceptions import ApiKeyError +from equinix.services.fabricv4.exceptions import ApiAttributeError +from equinix.services.fabricv4.exceptions import ApiException + +# import models into sdk package +from equinix.services.fabricv4.models.access_point import AccessPoint +from equinix.services.fabricv4.models.access_point_selector import AccessPointSelector +from equinix.services.fabricv4.models.access_point_selector_type import AccessPointSelectorType +from equinix.services.fabricv4.models.access_point_type import AccessPointType +from equinix.services.fabricv4.models.account import Account +from equinix.services.fabricv4.models.actions import Actions +from equinix.services.fabricv4.models.add_operation import AddOperation +from equinix.services.fabricv4.models.advance_configuration import AdvanceConfiguration +from equinix.services.fabricv4.models.all_physical_ports_response import AllPhysicalPortsResponse +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse +from equinix.services.fabricv4.models.api_config import ApiConfig +from equinix.services.fabricv4.models.api_services import ApiServices +from equinix.services.fabricv4.models.authentication_key import AuthenticationKey +from equinix.services.fabricv4.models.bgp_action_data import BGPActionData +from equinix.services.fabricv4.models.bgp_action_request import BGPActionRequest +from equinix.services.fabricv4.models.bgp_action_states import BGPActionStates +from equinix.services.fabricv4.models.bgp_actions import BGPActions +from equinix.services.fabricv4.models.bgp_actions_bulk_data import BGPActionsBulkData +from equinix.services.fabricv4.models.bgp_connection_ipv4 import BGPConnectionIpv4 +from equinix.services.fabricv4.models.bgp_connection_ipv6 import BGPConnectionIpv6 +from equinix.services.fabricv4.models.bgp_connection_operation import BGPConnectionOperation +from equinix.services.fabricv4.models.bgp_connection_operation_operational_status import BGPConnectionOperationOperationalStatus +from equinix.services.fabricv4.models.bandwidth_utilization import BandwidthUtilization +from equinix.services.fabricv4.models.bandwidth_utilization_unit import BandwidthUtilizationUnit +from equinix.services.fabricv4.models.bulk_physical_port import BulkPhysicalPort +from equinix.services.fabricv4.models.bulk_port import BulkPort +from equinix.services.fabricv4.models.change import Change +from equinix.services.fabricv4.models.change_status import ChangeStatus +from equinix.services.fabricv4.models.change_type import ChangeType +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.cloud_router import CloudRouter +from equinix.services.fabricv4.models.cloud_router_access_point_state import CloudRouterAccessPointState +from equinix.services.fabricv4.models.cloud_router_action_request import CloudRouterActionRequest +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse +from equinix.services.fabricv4.models.cloud_router_action_state import CloudRouterActionState +from equinix.services.fabricv4.models.cloud_router_action_type import CloudRouterActionType +from equinix.services.fabricv4.models.cloud_router_change import CloudRouterChange +from equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation +from equinix.services.fabricv4.models.cloud_router_change_status import CloudRouterChangeStatus +from equinix.services.fabricv4.models.cloud_router_change_type import CloudRouterChangeType +from equinix.services.fabricv4.models.cloud_router_filter import CloudRouterFilter +from equinix.services.fabricv4.models.cloud_router_filters import CloudRouterFilters +from equinix.services.fabricv4.models.cloud_router_or_filter import CloudRouterOrFilter +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage +from equinix.services.fabricv4.models.cloud_router_package_nat_type import CloudRouterPackageNatType +from equinix.services.fabricv4.models.cloud_router_package_type import CloudRouterPackageType +from equinix.services.fabricv4.models.cloud_router_post_request import CloudRouterPostRequest +from equinix.services.fabricv4.models.cloud_router_post_request_package import CloudRouterPostRequestPackage +from equinix.services.fabricv4.models.cloud_router_post_request_package_code import CloudRouterPostRequestPackageCode +from equinix.services.fabricv4.models.cloud_router_post_request_package_type import CloudRouterPostRequestPackageType +from equinix.services.fabricv4.models.cloud_router_post_request_type import CloudRouterPostRequestType +from equinix.services.fabricv4.models.cloud_router_search_request import CloudRouterSearchRequest +from equinix.services.fabricv4.models.cloud_router_simple_expression import CloudRouterSimpleExpression +from equinix.services.fabricv4.models.cloud_router_sort_by import CloudRouterSortBy +from equinix.services.fabricv4.models.cloud_router_sort_criteria import CloudRouterSortCriteria +from equinix.services.fabricv4.models.cloud_router_sort_direction import CloudRouterSortDirection +from equinix.services.fabricv4.models.code import Code +from equinix.services.fabricv4.models.connected_metro import ConnectedMetro +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_acceptance_data import ConnectionAcceptanceData +from equinix.services.fabricv4.models.connection_action import ConnectionAction +from equinix.services.fabricv4.models.connection_action_request import ConnectionActionRequest +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +from equinix.services.fabricv4.models.connection_company_profile import ConnectionCompanyProfile +from equinix.services.fabricv4.models.connection_direction import ConnectionDirection +from equinix.services.fabricv4.models.connection_invitation import ConnectionInvitation +from equinix.services.fabricv4.models.connection_link import ConnectionLink +from equinix.services.fabricv4.models.connection_link_type import ConnectionLinkType +from equinix.services.fabricv4.models.connection_operation import ConnectionOperation +from equinix.services.fabricv4.models.connection_operation_operational_status import ConnectionOperationOperationalStatus +from equinix.services.fabricv4.models.connection_post_request import ConnectionPostRequest +from equinix.services.fabricv4.models.connection_priority import ConnectionPriority +from equinix.services.fabricv4.models.connection_redundancy import ConnectionRedundancy +from equinix.services.fabricv4.models.connection_response import ConnectionResponse +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData +from equinix.services.fabricv4.models.connection_route_filter_data_attachment_status import ConnectionRouteFilterDataAttachmentStatus +from equinix.services.fabricv4.models.connection_route_filter_data_direction import ConnectionRouteFilterDataDirection +from equinix.services.fabricv4.models.connection_route_filter_data_type import ConnectionRouteFilterDataType +from equinix.services.fabricv4.models.connection_route_filters_base import ConnectionRouteFiltersBase +from equinix.services.fabricv4.models.connection_route_filters_base_direction import ConnectionRouteFiltersBaseDirection +from equinix.services.fabricv4.models.connection_routing_protocol_post_request import ConnectionRoutingProtocolPostRequest +from equinix.services.fabricv4.models.connection_search_response import ConnectionSearchResponse +from equinix.services.fabricv4.models.connection_side import ConnectionSide +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from equinix.services.fabricv4.models.connection_state import ConnectionState +from equinix.services.fabricv4.models.connection_type import ConnectionType +from equinix.services.fabricv4.models.connectivity_source import ConnectivitySource +from equinix.services.fabricv4.models.connectivity_source_type import ConnectivitySourceType +from equinix.services.fabricv4.models.custom_field import CustomField +from equinix.services.fabricv4.models.custom_field_data_type import CustomFieldDataType +from equinix.services.fabricv4.models.direct_connection_ipv4 import DirectConnectionIpv4 +from equinix.services.fabricv4.models.direct_connection_ipv6 import DirectConnectionIpv6 +from equinix.services.fabricv4.models.direction import Direction +from equinix.services.fabricv4.models.duration import Duration +from equinix.services.fabricv4.models.equinix_status import EquinixStatus +from equinix.services.fabricv4.models.error import Error +from equinix.services.fabricv4.models.expression import Expression +from equinix.services.fabricv4.models.expression_operator import ExpressionOperator +from equinix.services.fabricv4.models.fabric_cloud_router_code import FabricCloudRouterCode +from equinix.services.fabricv4.models.fabric_cloud_router_packages import FabricCloudRouterPackages +from equinix.services.fabricv4.models.fabric_cloud_router_price import FabricCloudRouterPrice +from equinix.services.fabricv4.models.fabric_connection_uuid import FabricConnectionUuid +from equinix.services.fabricv4.models.filter_body import FilterBody +from equinix.services.fabricv4.models.geo_coordinates import GeoCoordinates +from equinix.services.fabricv4.models.geo_scope_type import GeoScopeType +from equinix.services.fabricv4.models.get_all_connection_route_filters_response import GetAllConnectionRouteFiltersResponse +from equinix.services.fabricv4.models.get_response import GetResponse +from equinix.services.fabricv4.models.get_route_filter_get_connections_response import GetRouteFilterGetConnectionsResponse +from equinix.services.fabricv4.models.get_route_filter_rules_response import GetRouteFilterRulesResponse +from equinix.services.fabricv4.models.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter +from equinix.services.fabricv4.models.health_response import HealthResponse +from equinix.services.fabricv4.models.interface import Interface +from equinix.services.fabricv4.models.interface_type import InterfaceType +from equinix.services.fabricv4.models.internet_access import InternetAccess +from equinix.services.fabricv4.models.ip_block_price import IpBlockPrice +from equinix.services.fabricv4.models.ip_block_type import IpBlockType +from equinix.services.fabricv4.models.ipv4 import Ipv4 +from equinix.services.fabricv4.models.json_patch_operation import JsonPatchOperation +from equinix.services.fabricv4.models.link import Link +from equinix.services.fabricv4.models.link_aggregation_group import LinkAggregationGroup +from equinix.services.fabricv4.models.link_protocol import LinkProtocol +from equinix.services.fabricv4.models.link_protocol_connection import LinkProtocolConnection +from equinix.services.fabricv4.models.link_protocol_dot1q import LinkProtocolDot1q +from equinix.services.fabricv4.models.link_protocol_evpn_vxlan import LinkProtocolEvpnVxlan +from equinix.services.fabricv4.models.link_protocol_get_response import LinkProtocolGetResponse +from equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config import LinkProtocolIpv4Ipv6Config +from equinix.services.fabricv4.models.link_protocol_qinq import LinkProtocolQinq +from equinix.services.fabricv4.models.link_protocol_request_type import LinkProtocolRequestType +from equinix.services.fabricv4.models.link_protocol_response import LinkProtocolResponse +from equinix.services.fabricv4.models.link_protocol_service_token import LinkProtocolServiceToken +from equinix.services.fabricv4.models.link_protocol_state import LinkProtocolState +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from equinix.services.fabricv4.models.link_protocol_untagged import LinkProtocolUntagged +from equinix.services.fabricv4.models.link_protocol_vxlan import LinkProtocolVxlan +from equinix.services.fabricv4.models.marketing_info import MarketingInfo +from equinix.services.fabricv4.models.md5 import Md5 +from equinix.services.fabricv4.models.md5_type import Md5Type +from equinix.services.fabricv4.models.metal_interconnection import MetalInterconnection +from equinix.services.fabricv4.models.metric_interval import MetricInterval +from equinix.services.fabricv4.models.metrics import Metrics +from equinix.services.fabricv4.models.metro import Metro +from equinix.services.fabricv4.models.metro_error import MetroError +from equinix.services.fabricv4.models.metro_error_error_code import MetroErrorErrorCode +from equinix.services.fabricv4.models.metro_error_error_message import MetroErrorErrorMessage +from equinix.services.fabricv4.models.metro_response import MetroResponse +from equinix.services.fabricv4.models.network import Network +from equinix.services.fabricv4.models.network_change import NetworkChange +from equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation +from equinix.services.fabricv4.models.network_change_response import NetworkChangeResponse +from equinix.services.fabricv4.models.network_change_status import NetworkChangeStatus +from equinix.services.fabricv4.models.network_change_type import NetworkChangeType +from equinix.services.fabricv4.models.network_connections import NetworkConnections +from equinix.services.fabricv4.models.network_equinix_status import NetworkEquinixStatus +from equinix.services.fabricv4.models.network_filter import NetworkFilter +from equinix.services.fabricv4.models.network_filter_operator import NetworkFilterOperator +from equinix.services.fabricv4.models.network_operation import NetworkOperation +from equinix.services.fabricv4.models.network_post_request import NetworkPostRequest +from equinix.services.fabricv4.models.network_scope import NetworkScope +from equinix.services.fabricv4.models.network_search_field_name import NetworkSearchFieldName +from equinix.services.fabricv4.models.network_search_request import NetworkSearchRequest +from equinix.services.fabricv4.models.network_search_response import NetworkSearchResponse +from equinix.services.fabricv4.models.network_sort_by import NetworkSortBy +from equinix.services.fabricv4.models.network_sort_by_response import NetworkSortByResponse +from equinix.services.fabricv4.models.network_sort_criteria import NetworkSortCriteria +from equinix.services.fabricv4.models.network_sort_criteria_response import NetworkSortCriteriaResponse +from equinix.services.fabricv4.models.network_sort_direction import NetworkSortDirection +from equinix.services.fabricv4.models.network_sort_direction_response import NetworkSortDirectionResponse +from equinix.services.fabricv4.models.network_state import NetworkState +from equinix.services.fabricv4.models.network_type import NetworkType +from equinix.services.fabricv4.models.op_enum import OpEnum +from equinix.services.fabricv4.models.order import Order +from equinix.services.fabricv4.models.package_change_log import PackageChangeLog +from equinix.services.fabricv4.models.package_response import PackageResponse +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.peering_type import PeeringType +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from equinix.services.fabricv4.models.physical_port_type import PhysicalPortType +from equinix.services.fabricv4.models.port import Port +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint +from equinix.services.fabricv4.models.port_device import PortDevice +from equinix.services.fabricv4.models.port_device_redundancy import PortDeviceRedundancy +from equinix.services.fabricv4.models.port_device_redundancy_priority import PortDeviceRedundancyPriority +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation +from equinix.services.fabricv4.models.port_encapsulation_type import PortEncapsulationType +from equinix.services.fabricv4.models.port_expression import PortExpression +from equinix.services.fabricv4.models.port_interface import PortInterface +from equinix.services.fabricv4.models.port_lag import PortLag +from equinix.services.fabricv4.models.port_loa import PortLoa +from equinix.services.fabricv4.models.port_loa_type import PortLoaType +from equinix.services.fabricv4.models.port_notification import PortNotification +from equinix.services.fabricv4.models.port_notification_type import PortNotificationType +from equinix.services.fabricv4.models.port_operation import PortOperation +from equinix.services.fabricv4.models.port_operation_operational_status import PortOperationOperationalStatus +from equinix.services.fabricv4.models.port_order import PortOrder +from equinix.services.fabricv4.models.port_order_purchase_order import PortOrderPurchaseOrder +from equinix.services.fabricv4.models.port_order_purchase_order_selection_type import PortOrderPurchaseOrderSelectionType +from equinix.services.fabricv4.models.port_order_signature import PortOrderSignature +from equinix.services.fabricv4.models.port_order_signature_delegate import PortOrderSignatureDelegate +from equinix.services.fabricv4.models.port_order_signature_signatory import PortOrderSignatureSignatory +from equinix.services.fabricv4.models.port_priority import PortPriority +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy +from equinix.services.fabricv4.models.port_response import PortResponse +from equinix.services.fabricv4.models.port_response_bmmr_type import PortResponseBmmrType +from equinix.services.fabricv4.models.port_response_connectivity_source_type import PortResponseConnectivitySourceType +from equinix.services.fabricv4.models.port_response_physical_ports_type import PortResponsePhysicalPortsType +from equinix.services.fabricv4.models.port_response_service_type import PortResponseServiceType +from equinix.services.fabricv4.models.port_search_field_name import PortSearchFieldName +from equinix.services.fabricv4.models.port_settings import PortSettings +from equinix.services.fabricv4.models.port_settings_package_type import PortSettingsPackageType +from equinix.services.fabricv4.models.port_settings_shared_port_product import PortSettingsSharedPortProduct +from equinix.services.fabricv4.models.port_sort_by import PortSortBy +from equinix.services.fabricv4.models.port_sort_criteria import PortSortCriteria +from equinix.services.fabricv4.models.port_sort_direction import PortSortDirection +from equinix.services.fabricv4.models.port_state import PortState +from equinix.services.fabricv4.models.port_tether import PortTether +from equinix.services.fabricv4.models.port_type import PortType +from equinix.services.fabricv4.models.port_v4_search_request import PortV4SearchRequest +from equinix.services.fabricv4.models.precision_time_change_operation import PrecisionTimeChangeOperation +from equinix.services.fabricv4.models.precision_time_change_operation_op import PrecisionTimeChangeOperationOp +from equinix.services.fabricv4.models.precision_time_change_operation_path import PrecisionTimeChangeOperationPath +from equinix.services.fabricv4.models.precision_time_package_request import PrecisionTimePackageRequest +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse +from equinix.services.fabricv4.models.precision_time_package_response_type import PrecisionTimePackageResponseType +from equinix.services.fabricv4.models.precision_time_service_connections_response import PrecisionTimeServiceConnectionsResponse +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +from equinix.services.fabricv4.models.precision_time_service_create_response_state import PrecisionTimeServiceCreateResponseState +from equinix.services.fabricv4.models.precision_time_service_create_response_type import PrecisionTimeServiceCreateResponseType +from equinix.services.fabricv4.models.precision_time_service_packages_response import PrecisionTimeServicePackagesResponse +from equinix.services.fabricv4.models.precision_time_service_request import PrecisionTimeServiceRequest +from equinix.services.fabricv4.models.precision_time_service_request_type import PrecisionTimeServiceRequestType +from equinix.services.fabricv4.models.presence import Presence +from equinix.services.fabricv4.models.price import Price +from equinix.services.fabricv4.models.price_category import PriceCategory +from equinix.services.fabricv4.models.price_charge import PriceCharge +from equinix.services.fabricv4.models.price_charge_type import PriceChargeType +from equinix.services.fabricv4.models.price_error import PriceError +from equinix.services.fabricv4.models.price_error_additional_info import PriceErrorAdditionalInfo +from equinix.services.fabricv4.models.price_error_error_code import PriceErrorErrorCode +from equinix.services.fabricv4.models.price_error_error_message import PriceErrorErrorMessage +from equinix.services.fabricv4.models.price_location import PriceLocation +from equinix.services.fabricv4.models.price_search_response import PriceSearchResponse +from equinix.services.fabricv4.models.price_term_length import PriceTermLength +from equinix.services.fabricv4.models.process_step import ProcessStep +from equinix.services.fabricv4.models.product_type import ProductType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.provider_status import ProviderStatus +from equinix.services.fabricv4.models.ptp_advance_configuration import PtpAdvanceConfiguration +from equinix.services.fabricv4.models.ptp_advance_configuration_time_scale import PtpAdvanceConfigurationTimeScale +from equinix.services.fabricv4.models.ptp_advance_configuration_transport_mode import PtpAdvanceConfigurationTransportMode +from equinix.services.fabricv4.models.query_direction import QueryDirection +from equinix.services.fabricv4.models.remove_operation import RemoveOperation +from equinix.services.fabricv4.models.replace_operation import ReplaceOperation +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData +from equinix.services.fabricv4.models.route_filter_change_data_response import RouteFilterChangeDataResponse +from equinix.services.fabricv4.models.route_filter_connections_data import RouteFilterConnectionsData +from equinix.services.fabricv4.models.route_filter_rule_state import RouteFilterRuleState +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from equinix.services.fabricv4.models.route_filter_rules_change import RouteFilterRulesChange +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData +from equinix.services.fabricv4.models.route_filter_rules_change_data_response import RouteFilterRulesChangeDataResponse +from equinix.services.fabricv4.models.route_filter_rules_change_operation import RouteFilterRulesChangeOperation +from equinix.services.fabricv4.models.route_filter_rules_change_type import RouteFilterRulesChangeType +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +from equinix.services.fabricv4.models.route_filter_rules_data_action import RouteFilterRulesDataAction +from equinix.services.fabricv4.models.route_filter_rules_data_type import RouteFilterRulesDataType +from equinix.services.fabricv4.models.route_filter_rules_patch_request_item import RouteFilterRulesPatchRequestItem +from equinix.services.fabricv4.models.route_filter_rules_post_request import RouteFilterRulesPostRequest +from equinix.services.fabricv4.models.route_filter_state import RouteFilterState +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase +from equinix.services.fabricv4.models.route_filters_change import RouteFiltersChange +from equinix.services.fabricv4.models.route_filters_change_operation import RouteFiltersChangeOperation +from equinix.services.fabricv4.models.route_filters_change_type import RouteFiltersChangeType +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +from equinix.services.fabricv4.models.route_filters_data_not_matched_rule_action import RouteFiltersDataNotMatchedRuleAction +from equinix.services.fabricv4.models.route_filters_data_project import RouteFiltersDataProject +from equinix.services.fabricv4.models.route_filters_patch_request_item import RouteFiltersPatchRequestItem +from equinix.services.fabricv4.models.route_filters_search_base import RouteFiltersSearchBase +from equinix.services.fabricv4.models.route_filters_search_base_filter import RouteFiltersSearchBaseFilter +from equinix.services.fabricv4.models.route_filters_search_filter_item import RouteFiltersSearchFilterItem +from equinix.services.fabricv4.models.route_filters_search_filter_item_property import RouteFiltersSearchFilterItemProperty +from equinix.services.fabricv4.models.route_filters_search_response import RouteFiltersSearchResponse +from equinix.services.fabricv4.models.route_table_entry import RouteTableEntry +from equinix.services.fabricv4.models.route_table_entry_connection import RouteTableEntryConnection +from equinix.services.fabricv4.models.route_table_entry_filter import RouteTableEntryFilter +from equinix.services.fabricv4.models.route_table_entry_filters import RouteTableEntryFilters +from equinix.services.fabricv4.models.route_table_entry_or_filter import RouteTableEntryOrFilter +from equinix.services.fabricv4.models.route_table_entry_protocol_type import RouteTableEntryProtocolType +from equinix.services.fabricv4.models.route_table_entry_search_request import RouteTableEntrySearchRequest +from equinix.services.fabricv4.models.route_table_entry_search_response import RouteTableEntrySearchResponse +from equinix.services.fabricv4.models.route_table_entry_simple_expression import RouteTableEntrySimpleExpression +from equinix.services.fabricv4.models.route_table_entry_sort_by import RouteTableEntrySortBy +from equinix.services.fabricv4.models.route_table_entry_sort_criteria import RouteTableEntrySortCriteria +from equinix.services.fabricv4.models.route_table_entry_sort_direction import RouteTableEntrySortDirection +from equinix.services.fabricv4.models.route_table_entry_state import RouteTableEntryState +from equinix.services.fabricv4.models.route_table_entry_type import RouteTableEntryType +from equinix.services.fabricv4.models.router_package_code import RouterPackageCode +from equinix.services.fabricv4.models.routing_protocol_bfd import RoutingProtocolBFD +from equinix.services.fabricv4.models.routing_protocol_bgp_data import RoutingProtocolBGPData +from equinix.services.fabricv4.models.routing_protocol_bgp_data_state import RoutingProtocolBGPDataState +from equinix.services.fabricv4.models.routing_protocol_bgp_type import RoutingProtocolBGPType +from equinix.services.fabricv4.models.routing_protocol_bgp_type_type import RoutingProtocolBGPTypeType +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from equinix.services.fabricv4.models.routing_protocol_change import RoutingProtocolChange +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData +from equinix.services.fabricv4.models.routing_protocol_change_data_response import RoutingProtocolChangeDataResponse +from equinix.services.fabricv4.models.routing_protocol_change_operation import RoutingProtocolChangeOperation +from equinix.services.fabricv4.models.routing_protocol_change_operation_op import RoutingProtocolChangeOperationOp +from equinix.services.fabricv4.models.routing_protocol_change_type import RoutingProtocolChangeType +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +from equinix.services.fabricv4.models.routing_protocol_direct_data import RoutingProtocolDirectData +from equinix.services.fabricv4.models.routing_protocol_direct_type import RoutingProtocolDirectType +from equinix.services.fabricv4.models.routing_protocol_direct_type_type import RoutingProtocolDirectTypeType +from equinix.services.fabricv4.models.routing_protocol_operation import RoutingProtocolOperation +from equinix.services.fabricv4.models.search_expression import SearchExpression +from equinix.services.fabricv4.models.search_field_name import SearchFieldName +from equinix.services.fabricv4.models.search_request import SearchRequest +from equinix.services.fabricv4.models.search_response import SearchResponse +from equinix.services.fabricv4.models.service_metro import ServiceMetro +from equinix.services.fabricv4.models.service_metros import ServiceMetros +from equinix.services.fabricv4.models.service_profile import ServiceProfile +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO +from equinix.services.fabricv4.models.service_profile_access_point_colo_type import ServiceProfileAccessPointCOLOType +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType +from equinix.services.fabricv4.models.service_profile_access_point_type_colo import ServiceProfileAccessPointTypeCOLO +from equinix.services.fabricv4.models.service_profile_access_point_type_enum import ServiceProfileAccessPointTypeEnum +from equinix.services.fabricv4.models.service_profile_access_point_type_vd import ServiceProfileAccessPointTypeVD +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD +from equinix.services.fabricv4.models.service_profile_access_point_vd_type import ServiceProfileAccessPointVDType +from equinix.services.fabricv4.models.service_profile_and_filter import ServiceProfileAndFilter +from equinix.services.fabricv4.models.service_profile_filter import ServiceProfileFilter +from equinix.services.fabricv4.models.service_profile_link_protocol_config import ServiceProfileLinkProtocolConfig +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation import ServiceProfileLinkProtocolConfigEncapsulation +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation_strategy import ServiceProfileLinkProtocolConfigEncapsulationStrategy +from equinix.services.fabricv4.models.service_profile_metadata import ServiceProfileMetadata +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest +from equinix.services.fabricv4.models.service_profile_search_request import ServiceProfileSearchRequest +from equinix.services.fabricv4.models.service_profile_simple_expression import ServiceProfileSimpleExpression +from equinix.services.fabricv4.models.service_profile_sort_by import ServiceProfileSortBy +from equinix.services.fabricv4.models.service_profile_sort_criteria import ServiceProfileSortCriteria +from equinix.services.fabricv4.models.service_profile_sort_direction import ServiceProfileSortDirection +from equinix.services.fabricv4.models.service_profile_state_enum import ServiceProfileStateEnum +from equinix.services.fabricv4.models.service_profile_type_enum import ServiceProfileTypeEnum +from equinix.services.fabricv4.models.service_profile_visibility_enum import ServiceProfileVisibilityEnum +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles +from equinix.services.fabricv4.models.service_token import ServiceToken +from equinix.services.fabricv4.models.service_token_action_request import ServiceTokenActionRequest +from equinix.services.fabricv4.models.service_token_actions import ServiceTokenActions +from equinix.services.fabricv4.models.service_token_change_operation import ServiceTokenChangeOperation +from equinix.services.fabricv4.models.service_token_connection import ServiceTokenConnection +from equinix.services.fabricv4.models.service_token_connection_type import ServiceTokenConnectionType +from equinix.services.fabricv4.models.service_token_search_expression import ServiceTokenSearchExpression +from equinix.services.fabricv4.models.service_token_search_expression_operator import ServiceTokenSearchExpressionOperator +from equinix.services.fabricv4.models.service_token_search_field_name import ServiceTokenSearchFieldName +from equinix.services.fabricv4.models.service_token_search_request import ServiceTokenSearchRequest +from equinix.services.fabricv4.models.service_token_side import ServiceTokenSide +from equinix.services.fabricv4.models.service_token_state import ServiceTokenState +from equinix.services.fabricv4.models.service_token_type import ServiceTokenType +from equinix.services.fabricv4.models.service_tokens import ServiceTokens +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_account_port_response import SimplifiedAccountPortResponse +from equinix.services.fabricv4.models.simplified_link_protocol import SimplifiedLinkProtocol +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from equinix.services.fabricv4.models.simplified_location_without_ibx import SimplifiedLocationWithoutIBX +from equinix.services.fabricv4.models.simplified_metadata_entity import SimplifiedMetadataEntity +from equinix.services.fabricv4.models.simplified_network import SimplifiedNetwork +from equinix.services.fabricv4.models.simplified_network_change import SimplifiedNetworkChange +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from equinix.services.fabricv4.models.simplified_notification_type import SimplifiedNotificationType +from equinix.services.fabricv4.models.simplified_port import SimplifiedPort +from equinix.services.fabricv4.models.simplified_service_profile import SimplifiedServiceProfile +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 +from equinix.services.fabricv4.models.sort_direction import SortDirection +from equinix.services.fabricv4.models.sort_item import SortItem +from equinix.services.fabricv4.models.sort_item_direction import SortItemDirection +from equinix.services.fabricv4.models.sort_item_property import SortItemProperty +from equinix.services.fabricv4.models.statistics import Statistics +from equinix.services.fabricv4.models.statistics_view_point import StatisticsViewPoint +from equinix.services.fabricv4.models.sub_interface import SubInterface +from equinix.services.fabricv4.models.top_utilized_statistics import TopUtilizedStatistics +from equinix.services.fabricv4.models.validate_request import ValidateRequest +from equinix.services.fabricv4.models.validate_request_filter import ValidateRequestFilter +from equinix.services.fabricv4.models.validate_request_filter_and import ValidateRequestFilterAnd +from equinix.services.fabricv4.models.validate_subnet_response import ValidateSubnetResponse +from equinix.services.fabricv4.models.view_point import ViewPoint +from equinix.services.fabricv4.models.virtual_connection_bridge_package_code import VirtualConnectionBridgePackageCode +from equinix.services.fabricv4.models.virtual_connection_price import VirtualConnectionPrice +from equinix.services.fabricv4.models.virtual_connection_price_a_side import VirtualConnectionPriceASide +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point import VirtualConnectionPriceASideAccessPoint +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port import VirtualConnectionPriceASideAccessPointPort +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings import VirtualConnectionPriceASideAccessPointPortSettings +from equinix.services.fabricv4.models.virtual_connection_price_access_point_type import VirtualConnectionPriceAccessPointType +from equinix.services.fabricv4.models.virtual_connection_price_connection_type import VirtualConnectionPriceConnectionType +from equinix.services.fabricv4.models.virtual_connection_price_z_side import VirtualConnectionPriceZSide +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point import VirtualConnectionPriceZSideAccessPoint +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge import VirtualConnectionPriceZSideAccessPointBridge +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package import VirtualConnectionPriceZSideAccessPointBridgePackage +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile import VirtualConnectionPriceZSideAccessPointProfile +from equinix.services.fabricv4.models.virtual_device import VirtualDevice +from equinix.services.fabricv4.models.virtual_device_type import VirtualDeviceType +from equinix.services.fabricv4.models.virtual_network import VirtualNetwork +from equinix.services.fabricv4.models.virtual_port_configuration import VirtualPortConfiguration +from equinix.services.fabricv4.models.virtual_port_location import VirtualPortLocation +from equinix.services.fabricv4.models.virtual_port_price import VirtualPortPrice +from equinix.services.fabricv4.models.virtual_port_redundancy import VirtualPortRedundancy +from equinix.services.fabricv4.models.virtual_port_service_type import VirtualPortServiceType +from equinix.services.fabricv4.models.virtual_port_type import VirtualPortType +from equinix.services.fabricv4.models.vpic_interface import VpicInterface diff --git a/equinix/services/fabricv4/api/__init__.py b/equinix/services/fabricv4/api/__init__.py new file mode 100644 index 00000000..68fff6c1 --- /dev/null +++ b/equinix/services/fabricv4/api/__init__.py @@ -0,0 +1,18 @@ +# flake8: noqa + +# import apis into api package +from equinix.services.fabricv4.api.cloud_routers_api import CloudRoutersApi +from equinix.services.fabricv4.api.connections_api import ConnectionsApi +from equinix.services.fabricv4.api.health_api import HealthApi +from equinix.services.fabricv4.api.metros_api import MetrosApi +from equinix.services.fabricv4.api.networks_api import NetworksApi +from equinix.services.fabricv4.api.ports_api import PortsApi +from equinix.services.fabricv4.api.precision_time_api import PrecisionTimeApi +from equinix.services.fabricv4.api.prices_api import PricesApi +from equinix.services.fabricv4.api.route_filter_rules_api import RouteFilterRulesApi +from equinix.services.fabricv4.api.route_filters_api import RouteFiltersApi +from equinix.services.fabricv4.api.routing_protocols_api import RoutingProtocolsApi +from equinix.services.fabricv4.api.service_profiles_api import ServiceProfilesApi +from equinix.services.fabricv4.api.service_tokens_api import ServiceTokensApi +from equinix.services.fabricv4.api.statistics_api import StatisticsApi + diff --git a/equinix/services/fabricv4/api/cloud_routers_api.py b/equinix/services/fabricv4/api/cloud_routers_api.py new file mode 100644 index 00000000..36231754 --- /dev/null +++ b/equinix/services/fabricv4/api/cloud_routers_api.py @@ -0,0 +1,2935 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.cloud_router import CloudRouter +from equinix.services.fabricv4.models.cloud_router_action_request import CloudRouterActionRequest +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse +from equinix.services.fabricv4.models.cloud_router_action_state import CloudRouterActionState +from equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage +from equinix.services.fabricv4.models.cloud_router_post_request import CloudRouterPostRequest +from equinix.services.fabricv4.models.cloud_router_search_request import CloudRouterSearchRequest +from equinix.services.fabricv4.models.package_response import PackageResponse +from equinix.services.fabricv4.models.route_table_entry_search_request import RouteTableEntrySearchRequest +from equinix.services.fabricv4.models.route_table_entry_search_response import RouteTableEntrySearchResponse +from equinix.services.fabricv4.models.router_package_code import RouterPackageCode +from equinix.services.fabricv4.models.search_response import SearchResponse + +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 CloudRoutersApi: + """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_cloud_router( + self, + cloud_router_post_request: CloudRouterPostRequest, + _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, + ) -> CloudRouter: + """Create Routers + + This API provides capability to create user's Cloud Routers + + :param cloud_router_post_request: (required) + :type cloud_router_post_request: CloudRouterPostRequest + :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_cloud_router_serialize( + cloud_router_post_request=cloud_router_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_cloud_router_with_http_info( + self, + cloud_router_post_request: CloudRouterPostRequest, + _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[CloudRouter]: + """Create Routers + + This API provides capability to create user's Cloud Routers + + :param cloud_router_post_request: (required) + :type cloud_router_post_request: CloudRouterPostRequest + :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_cloud_router_serialize( + cloud_router_post_request=cloud_router_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_cloud_router_without_preload_content( + self, + cloud_router_post_request: CloudRouterPostRequest, + _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 Routers + + This API provides capability to create user's Cloud Routers + + :param cloud_router_post_request: (required) + :type cloud_router_post_request: CloudRouterPostRequest + :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_cloud_router_serialize( + cloud_router_post_request=cloud_router_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_cloud_router_serialize( + self, + cloud_router_post_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, str] = {} + _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 cloud_router_post_request is not None: + _body_params = cloud_router_post_request + + + # set the HTTP header `Accept` + _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/routers', + 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_cloud_router_action( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + cloud_router_action_request: CloudRouterActionRequest, + _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, + ) -> CloudRouterActionResponse: + """Route table actions + + This API provides capability to refresh route table and bgp session summary information + + :param router_id: Router UUID (required) + :type router_id: str + :param cloud_router_action_request: (required) + :type cloud_router_action_request: CloudRouterActionRequest + :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_cloud_router_action_serialize( + router_id=router_id, + cloud_router_action_request=cloud_router_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "CloudRouterActionResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_cloud_router_action_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + cloud_router_action_request: CloudRouterActionRequest, + _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[CloudRouterActionResponse]: + """Route table actions + + This API provides capability to refresh route table and bgp session summary information + + :param router_id: Router UUID (required) + :type router_id: str + :param cloud_router_action_request: (required) + :type cloud_router_action_request: CloudRouterActionRequest + :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_cloud_router_action_serialize( + router_id=router_id, + cloud_router_action_request=cloud_router_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "CloudRouterActionResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_cloud_router_action_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + cloud_router_action_request: CloudRouterActionRequest, + _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: + """Route table actions + + This API provides capability to refresh route table and bgp session summary information + + :param router_id: Router UUID (required) + :type router_id: str + :param cloud_router_action_request: (required) + :type cloud_router_action_request: CloudRouterActionRequest + :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_cloud_router_action_serialize( + router_id=router_id, + cloud_router_action_request=cloud_router_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "CloudRouterActionResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_cloud_router_action_serialize( + self, + router_id, + cloud_router_action_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if cloud_router_action_request is not None: + _body_params = cloud_router_action_request + + + # set the HTTP header `Accept` + _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/routers/{routerId}/actions', + 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_cloud_router_by_uuid( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router 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, + ) -> None: + """Delete Routers + + This API provides capability to delete user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_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_cloud_router_by_uuid_serialize( + router_id=router_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '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 delete_cloud_router_by_uuid_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router 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[None]: + """Delete Routers + + This API provides capability to delete user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_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_cloud_router_by_uuid_serialize( + router_id=router_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '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 delete_cloud_router_by_uuid_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router 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 Routers + + This API provides capability to delete user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_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_cloud_router_by_uuid_serialize( + router_id=router_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '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 _delete_cloud_router_by_uuid_serialize( + self, + router_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routers/{routerId}', + 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_cloud_router_actions( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + state: Annotated[Optional[CloudRouterActionState], Field(description="Action state")] = 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, + ) -> CloudRouterActionResponse: + """Get actions + + This API provides capability to fetch action status + + :param router_id: Router UUID (required) + :type router_id: str + :param state: Action state + :type state: CloudRouterActionState + :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_cloud_router_actions_serialize( + router_id=router_id, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouterActionResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_cloud_router_actions_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + state: Annotated[Optional[CloudRouterActionState], Field(description="Action state")] = 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[CloudRouterActionResponse]: + """Get actions + + This API provides capability to fetch action status + + :param router_id: Router UUID (required) + :type router_id: str + :param state: Action state + :type state: CloudRouterActionState + :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_cloud_router_actions_serialize( + router_id=router_id, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouterActionResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_cloud_router_actions_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + state: Annotated[Optional[CloudRouterActionState], Field(description="Action state")] = 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 actions + + This API provides capability to fetch action status + + :param router_id: Router UUID (required) + :type router_id: str + :param state: Action state + :type state: CloudRouterActionState + :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_cloud_router_actions_serialize( + router_id=router_id, + state=state, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouterActionResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_cloud_router_actions_serialize( + self, + router_id, + state, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + if state is not None: + + _query_params.append(('state', state.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routers/{routerId}/actions', + 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_cloud_router_by_uuid( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router 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, + ) -> CloudRouter: + """Get Routers + + This API provides capability to retrieve user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_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_cloud_router_by_uuid_serialize( + router_id=router_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '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_cloud_router_by_uuid_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router 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[CloudRouter]: + """Get Routers + + This API provides capability to retrieve user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_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_cloud_router_by_uuid_serialize( + router_id=router_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '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_cloud_router_by_uuid_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router 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 Routers + + This API provides capability to retrieve user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_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_cloud_router_by_uuid_serialize( + router_id=router_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '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_cloud_router_by_uuid_serialize( + self, + router_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routers/{routerId}', + 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_cloud_router_package_by_code( + self, + router_package_code: Annotated[RouterPackageCode, Field(description="Equinix-assigned Cloud Router package identifier")], + _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, + ) -> CloudRouterPackage: + """Get Package Details + + This API provides capability to retrieve user's Cloud Routers Package Details + + :param router_package_code: Equinix-assigned Cloud Router package identifier (required) + :type router_package_code: RouterPackageCode + :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_cloud_router_package_by_code_serialize( + router_package_code=router_package_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouterPackage", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_cloud_router_package_by_code_with_http_info( + self, + router_package_code: Annotated[RouterPackageCode, Field(description="Equinix-assigned Cloud Router package identifier")], + _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[CloudRouterPackage]: + """Get Package Details + + This API provides capability to retrieve user's Cloud Routers Package Details + + :param router_package_code: Equinix-assigned Cloud Router package identifier (required) + :type router_package_code: RouterPackageCode + :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_cloud_router_package_by_code_serialize( + router_package_code=router_package_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouterPackage", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_cloud_router_package_by_code_without_preload_content( + self, + router_package_code: Annotated[RouterPackageCode, Field(description="Equinix-assigned Cloud Router package identifier")], + _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 Package Details + + This API provides capability to retrieve user's Cloud Routers Package Details + + :param router_package_code: Equinix-assigned Cloud Router package identifier (required) + :type router_package_code: RouterPackageCode + :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_cloud_router_package_by_code_serialize( + router_package_code=router_package_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouterPackage", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_cloud_router_package_by_code_serialize( + self, + router_package_code, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_package_code is not None: + _path_params['routerPackageCode'] = router_package_code.value + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routerPackages/{routerPackageCode}', + 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_cloud_router_packages( + self, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> PackageResponse: + """List Packages + + This API provides capability to retrieve user's Cloud Routers Packages + + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_cloud_router_packages_serialize( + 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': "PackageResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_cloud_router_packages_with_http_info( + self, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[PackageResponse]: + """List Packages + + This API provides capability to retrieve user's Cloud Routers Packages + + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_cloud_router_packages_serialize( + 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': "PackageResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_cloud_router_packages_without_preload_content( + self, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 Packages + + This API provides capability to retrieve user's Cloud Routers Packages + + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_cloud_router_packages_serialize( + 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': "PackageResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_cloud_router_packages_serialize( + self, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + 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` + _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/routerPackages', + 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_cloud_router_routes( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + route_table_entry_search_request: RouteTableEntrySearchRequest, + _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, + ) -> RouteTableEntrySearchResponse: + """Search Route Table + + The API provides capability to get list of user's Fabric Cloud Router route table entries using search criteria, including optional filtering, pagination and sorting + + :param router_id: Router UUID (required) + :type router_id: str + :param route_table_entry_search_request: (required) + :type route_table_entry_search_request: RouteTableEntrySearchRequest + :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_cloud_router_routes_serialize( + router_id=router_id, + route_table_entry_search_request=route_table_entry_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteTableEntrySearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 search_cloud_router_routes_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + route_table_entry_search_request: RouteTableEntrySearchRequest, + _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[RouteTableEntrySearchResponse]: + """Search Route Table + + The API provides capability to get list of user's Fabric Cloud Router route table entries using search criteria, including optional filtering, pagination and sorting + + :param router_id: Router UUID (required) + :type router_id: str + :param route_table_entry_search_request: (required) + :type route_table_entry_search_request: RouteTableEntrySearchRequest + :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_cloud_router_routes_serialize( + router_id=router_id, + route_table_entry_search_request=route_table_entry_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteTableEntrySearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 search_cloud_router_routes_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Router UUID")], + route_table_entry_search_request: RouteTableEntrySearchRequest, + _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 Route Table + + The API provides capability to get list of user's Fabric Cloud Router route table entries using search criteria, including optional filtering, pagination and sorting + + :param router_id: Router UUID (required) + :type router_id: str + :param route_table_entry_search_request: (required) + :type route_table_entry_search_request: RouteTableEntrySearchRequest + :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_cloud_router_routes_serialize( + router_id=router_id, + route_table_entry_search_request=route_table_entry_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteTableEntrySearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_cloud_router_routes_serialize( + self, + router_id, + route_table_entry_search_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if route_table_entry_search_request is not None: + _body_params = route_table_entry_search_request + + + # set the HTTP header `Accept` + _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/routers/{routerId}/routes/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 + ) + + + + + @validate_call + def search_cloud_routers( + self, + cloud_router_search_request: CloudRouterSearchRequest, + _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, + ) -> SearchResponse: + """Search Routers + + The API provides capability to get list of user's Cloud Routers using search criteria, including optional filtering, pagination and sorting + + :param cloud_router_search_request: (required) + :type cloud_router_search_request: CloudRouterSearchRequest + :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_cloud_routers_serialize( + cloud_router_search_request=cloud_router_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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 search_cloud_routers_with_http_info( + self, + cloud_router_search_request: CloudRouterSearchRequest, + _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[SearchResponse]: + """Search Routers + + The API provides capability to get list of user's Cloud Routers using search criteria, including optional filtering, pagination and sorting + + :param cloud_router_search_request: (required) + :type cloud_router_search_request: CloudRouterSearchRequest + :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_cloud_routers_serialize( + cloud_router_search_request=cloud_router_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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 search_cloud_routers_without_preload_content( + self, + cloud_router_search_request: CloudRouterSearchRequest, + _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 Routers + + The API provides capability to get list of user's Cloud Routers using search criteria, including optional filtering, pagination and sorting + + :param cloud_router_search_request: (required) + :type cloud_router_search_request: CloudRouterSearchRequest + :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_cloud_routers_serialize( + cloud_router_search_request=cloud_router_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_cloud_routers_serialize( + self, + cloud_router_search_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, str] = {} + _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 cloud_router_search_request is not None: + _body_params = cloud_router_search_request + + + # set the HTTP header `Accept` + _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/routers/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 + ) + + + + + @validate_call + def update_cloud_router_by_uuid( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router UUID")], + cloud_router_change_operation: Annotated[List[CloudRouterChangeOperation], Field(min_length=1)], + _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, + ) -> CloudRouter: + """Update Routers + + This API provides capability to update user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_id: str + :param cloud_router_change_operation: (required) + :type cloud_router_change_operation: List[CloudRouterChangeOperation] + :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._update_cloud_router_by_uuid_serialize( + router_id=router_id, + cloud_router_change_operation=cloud_router_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 update_cloud_router_by_uuid_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router UUID")], + cloud_router_change_operation: Annotated[List[CloudRouterChangeOperation], Field(min_length=1)], + _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[CloudRouter]: + """Update Routers + + This API provides capability to update user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_id: str + :param cloud_router_change_operation: (required) + :type cloud_router_change_operation: List[CloudRouterChangeOperation] + :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._update_cloud_router_by_uuid_serialize( + router_id=router_id, + cloud_router_change_operation=cloud_router_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 update_cloud_router_by_uuid_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router UUID")], + cloud_router_change_operation: Annotated[List[CloudRouterChangeOperation], Field(min_length=1)], + _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: + """Update Routers + + This API provides capability to update user's Cloud Routers + + :param router_id: Cloud Router UUID (required) + :type router_id: str + :param cloud_router_change_operation: (required) + :type cloud_router_change_operation: List[CloudRouterChangeOperation] + :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._update_cloud_router_by_uuid_serialize( + router_id=router_id, + cloud_router_change_operation=cloud_router_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CloudRouter", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_cloud_router_by_uuid_serialize( + self, + router_id, + cloud_router_change_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'CloudRouterChangeOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if cloud_router_change_operation is not None: + _body_params = cloud_router_change_operation + + + # set the HTTP header `Accept` + _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-patch+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='PATCH', + resource_path='/fabric/v4/routers/{routerId}', + 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/connections_api.py b/equinix/services/fabricv4/api/connections_api.py new file mode 100644 index 00000000..998fb074 --- /dev/null +++ b/equinix/services/fabricv4/api/connections_api.py @@ -0,0 +1,2040 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_action import ConnectionAction +from equinix.services.fabricv4.models.connection_action_request import ConnectionActionRequest +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +from equinix.services.fabricv4.models.connection_direction import ConnectionDirection +from equinix.services.fabricv4.models.connection_post_request import ConnectionPostRequest +from equinix.services.fabricv4.models.connection_response import ConnectionResponse +from equinix.services.fabricv4.models.connection_search_response import ConnectionSearchResponse +from equinix.services.fabricv4.models.search_request import SearchRequest +from equinix.services.fabricv4.models.validate_request import ValidateRequest + +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 ConnectionsApi: + """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_connection( + self, + connection_post_request: ConnectionPostRequest, + _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, + ) -> Connection: + """Create Connection + + This API provides capability to create user's virtual connection + + :param connection_post_request: (required) + :type connection_post_request: ConnectionPostRequest + :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_connection_serialize( + connection_post_request=connection_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "Connection", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '405': "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_connection_with_http_info( + self, + connection_post_request: ConnectionPostRequest, + _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[Connection]: + """Create Connection + + This API provides capability to create user's virtual connection + + :param connection_post_request: (required) + :type connection_post_request: ConnectionPostRequest + :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_connection_serialize( + connection_post_request=connection_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "Connection", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '405': "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_connection_without_preload_content( + self, + connection_post_request: ConnectionPostRequest, + _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 Connection + + This API provides capability to create user's virtual connection + + :param connection_post_request: (required) + :type connection_post_request: ConnectionPostRequest + :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_connection_serialize( + connection_post_request=connection_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "Connection", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '405': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_connection_serialize( + self, + connection_post_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, str] = {} + _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 connection_post_request is not None: + _body_params = connection_post_request + + + # set the HTTP header `Accept` + _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/connections', + 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_connection_action( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_action_request: ConnectionActionRequest, + _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, + ) -> ConnectionAction: + """Connection Actions + + This API provides capability to accept/reject user's virtual connection + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_action_request: (required) + :type connection_action_request: ConnectionActionRequest + :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_connection_action_serialize( + connection_id=connection_id, + connection_action_request=connection_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionAction", + '400': "List[Error]", + '401': "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 create_connection_action_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_action_request: ConnectionActionRequest, + _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[ConnectionAction]: + """Connection Actions + + This API provides capability to accept/reject user's virtual connection + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_action_request: (required) + :type connection_action_request: ConnectionActionRequest + :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_connection_action_serialize( + connection_id=connection_id, + connection_action_request=connection_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionAction", + '400': "List[Error]", + '401': "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 create_connection_action_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_action_request: ConnectionActionRequest, + _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: + """Connection Actions + + This API provides capability to accept/reject user's virtual connection + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_action_request: (required) + :type connection_action_request: ConnectionActionRequest + :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_connection_action_serialize( + connection_id=connection_id, + connection_action_request=connection_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionAction", + '400': "List[Error]", + '401': "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 _create_connection_action_serialize( + self, + connection_id, + connection_action_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if connection_action_request is not None: + _body_params = connection_action_request + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/actions', + 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_connection_by_uuid( + self, + connection_id: Annotated[StrictStr, Field(description="Connection 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, + ) -> Connection: + """Delete by ID + + Delete Connection by ID + + :param connection_id: Connection UUID (required) + :type connection_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_connection_by_uuid_serialize( + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Connection", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '405': "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_connection_by_uuid_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection 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[Connection]: + """Delete by ID + + Delete Connection by ID + + :param connection_id: Connection UUID (required) + :type connection_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_connection_by_uuid_serialize( + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Connection", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '405': "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_connection_by_uuid_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection 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 by ID + + Delete Connection by ID + + :param connection_id: Connection UUID (required) + :type connection_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_connection_by_uuid_serialize( + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Connection", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '405': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_connection_by_uuid_serialize( + self, + connection_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}', + 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_connection_by_uuid( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + direction: Annotated[Optional[ConnectionDirection], Field(description="Connection Direction")] = 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, + ) -> Connection: + """Get Connection by ID + + The API provides capability to get user's virtual connection details (Service Tokens, Access Points, Link Protocols, etc) by it's connection ID (UUID) + + :param connection_id: Connection Id (required) + :type connection_id: str + :param direction: Connection Direction + :type direction: ConnectionDirection + :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_connection_by_uuid_serialize( + connection_id=connection_id, + direction=direction, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Connection", + '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_connection_by_uuid_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + direction: Annotated[Optional[ConnectionDirection], Field(description="Connection Direction")] = 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[Connection]: + """Get Connection by ID + + The API provides capability to get user's virtual connection details (Service Tokens, Access Points, Link Protocols, etc) by it's connection ID (UUID) + + :param connection_id: Connection Id (required) + :type connection_id: str + :param direction: Connection Direction + :type direction: ConnectionDirection + :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_connection_by_uuid_serialize( + connection_id=connection_id, + direction=direction, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Connection", + '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_connection_by_uuid_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + direction: Annotated[Optional[ConnectionDirection], Field(description="Connection Direction")] = 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 Connection by ID + + The API provides capability to get user's virtual connection details (Service Tokens, Access Points, Link Protocols, etc) by it's connection ID (UUID) + + :param connection_id: Connection Id (required) + :type connection_id: str + :param direction: Connection Direction + :type direction: ConnectionDirection + :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_connection_by_uuid_serialize( + connection_id=connection_id, + direction=direction, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Connection", + '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_connection_by_uuid_serialize( + self, + connection_id, + direction, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + if direction is not None: + + _query_params.append(('direction', direction.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}', + 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_connections( + self, + search_request: SearchRequest, + _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, + ) -> ConnectionSearchResponse: + """Search connections + + The API provides capability to get list of user's virtual connections using search criteria, including optional filtering, pagination and sorting + + :param search_request: (required) + :type search_request: SearchRequest + :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_connections_serialize( + search_request=search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionSearchResponse", + '400': "List[Error]", + '401': "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 search_connections_with_http_info( + self, + search_request: SearchRequest, + _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[ConnectionSearchResponse]: + """Search connections + + The API provides capability to get list of user's virtual connections using search criteria, including optional filtering, pagination and sorting + + :param search_request: (required) + :type search_request: SearchRequest + :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_connections_serialize( + search_request=search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionSearchResponse", + '400': "List[Error]", + '401': "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 search_connections_without_preload_content( + self, + search_request: SearchRequest, + _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 connections + + The API provides capability to get list of user's virtual connections using search criteria, including optional filtering, pagination and sorting + + :param search_request: (required) + :type search_request: SearchRequest + :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_connections_serialize( + search_request=search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionSearchResponse", + '400': "List[Error]", + '401': "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 _search_connections_serialize( + self, + search_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, str] = {} + _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 search_request is not None: + _body_params = search_request + + + # set the HTTP header `Accept` + _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/connections/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 + ) + + + + + @validate_call + def update_connection_by_uuid( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_change_operation: Annotated[List[ConnectionChangeOperation], Field(min_length=1)], + _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, + ) -> Connection: + """Update by ID + + Update Connection by ID + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_change_operation: (required) + :type connection_change_operation: List[ConnectionChangeOperation] + :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._update_connection_by_uuid_serialize( + connection_id=connection_id, + connection_change_operation=connection_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Connection", + '401': "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 update_connection_by_uuid_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_change_operation: Annotated[List[ConnectionChangeOperation], Field(min_length=1)], + _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[Connection]: + """Update by ID + + Update Connection by ID + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_change_operation: (required) + :type connection_change_operation: List[ConnectionChangeOperation] + :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._update_connection_by_uuid_serialize( + connection_id=connection_id, + connection_change_operation=connection_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Connection", + '401': "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 update_connection_by_uuid_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_change_operation: Annotated[List[ConnectionChangeOperation], Field(min_length=1)], + _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: + """Update by ID + + Update Connection by ID + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_change_operation: (required) + :type connection_change_operation: List[ConnectionChangeOperation] + :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._update_connection_by_uuid_serialize( + connection_id=connection_id, + connection_change_operation=connection_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Connection", + '401': "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 _update_connection_by_uuid_serialize( + self, + connection_id, + connection_change_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'ConnectionChangeOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if connection_change_operation is not None: + _body_params = connection_change_operation + + + # set the HTTP header `Accept` + _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-patch+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='PATCH', + resource_path='/fabric/v4/connections/{connectionId}', + 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 validate_connections( + self, + validate_request: ValidateRequest, + _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, + ) -> ConnectionResponse: + """Validate Connection + + This API provides capability to validate by auth key + + :param validate_request: (required) + :type validate_request: ValidateRequest + :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._validate_connections_serialize( + validate_request=validate_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionResponse", + '400': "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 validate_connections_with_http_info( + self, + validate_request: ValidateRequest, + _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[ConnectionResponse]: + """Validate Connection + + This API provides capability to validate by auth key + + :param validate_request: (required) + :type validate_request: ValidateRequest + :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._validate_connections_serialize( + validate_request=validate_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionResponse", + '400': "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 validate_connections_without_preload_content( + self, + validate_request: ValidateRequest, + _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: + """Validate Connection + + This API provides capability to validate by auth key + + :param validate_request: (required) + :type validate_request: ValidateRequest + :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._validate_connections_serialize( + validate_request=validate_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionResponse", + '400': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _validate_connections_serialize( + self, + validate_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, str] = {} + _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 validate_request is not None: + _body_params = validate_request + + + # set the HTTP header `Accept` + _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/connections/validate', + 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/health_api.py b/equinix/services/fabricv4/api/health_api.py new file mode 100644 index 00000000..484f4bec --- /dev/null +++ b/equinix/services/fabricv4/api/health_api.py @@ -0,0 +1,280 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 equinix.services.fabricv4.models.health_response import HealthResponse + +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 HealthApi: + """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 get_status( + self, + _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, + ) -> HealthResponse: + """Get service status + + GET All service health statys with an option query parameter to return all Equinix Fabric customer in which the customer has a presence. + + :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_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HealthResponse", + } + 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_status_with_http_info( + self, + _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[HealthResponse]: + """Get service status + + GET All service health statys with an option query parameter to return all Equinix Fabric customer in which the customer has a presence. + + :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_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HealthResponse", + } + 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_status_without_preload_content( + self, + _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 status + + GET All service health statys with an option query parameter to return all Equinix Fabric customer in which the customer has a presence. + + :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_status_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "HealthResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_status_serialize( + self, + _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, str] = {} + _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 + + + # set the HTTP header `Accept` + _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/health', + 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/metros_api.py b/equinix/services/fabricv4/api/metros_api.py new file mode 100644 index 00000000..eadf9179 --- /dev/null +++ b/equinix/services/fabricv4/api/metros_api.py @@ -0,0 +1,612 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.metro import Metro +from equinix.services.fabricv4.models.metro_response import MetroResponse +from equinix.services.fabricv4.models.presence import Presence + +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 MetrosApi: + """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 get_metro_by_code( + self, + metro_code: Annotated[StrictStr, Field(description="Metro Code")], + _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, + ) -> Metro: + """Get Metro by Code + + GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location. . + + :param metro_code: Metro Code (required) + :type metro_code: 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_metro_by_code_serialize( + metro_code=metro_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Metro", + '400': "List[MetroError]", + '401': "List[MetroError]", + '500': "List[MetroError]", + } + 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_metro_by_code_with_http_info( + self, + metro_code: Annotated[StrictStr, Field(description="Metro Code")], + _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[Metro]: + """Get Metro by Code + + GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location. . + + :param metro_code: Metro Code (required) + :type metro_code: 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_metro_by_code_serialize( + metro_code=metro_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Metro", + '400': "List[MetroError]", + '401': "List[MetroError]", + '500': "List[MetroError]", + } + 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_metro_by_code_without_preload_content( + self, + metro_code: Annotated[StrictStr, Field(description="Metro Code")], + _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 Metro by Code + + GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location. . + + :param metro_code: Metro Code (required) + :type metro_code: 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_metro_by_code_serialize( + metro_code=metro_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Metro", + '400': "List[MetroError]", + '401': "List[MetroError]", + '500': "List[MetroError]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_metro_by_code_serialize( + self, + metro_code, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metro_code is not None: + _path_params['metroCode'] = metro_code + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/metros/{metroCode}', + 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_metros( + self, + presence: Annotated[Optional[Presence], Field(description="User On Boarded Metros based on Fabric resource availability")] = None, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> MetroResponse: + """Get all Metros + + GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location. + + :param presence: User On Boarded Metros based on Fabric resource availability + :type presence: Presence + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_metros_serialize( + presence=presence, + 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': "MetroResponse", + '400': "List[MetroError]", + '401': "List[MetroError]", + '500': "List[MetroError]", + } + 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_metros_with_http_info( + self, + presence: Annotated[Optional[Presence], Field(description="User On Boarded Metros based on Fabric resource availability")] = None, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[MetroResponse]: + """Get all Metros + + GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location. + + :param presence: User On Boarded Metros based on Fabric resource availability + :type presence: Presence + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_metros_serialize( + presence=presence, + 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': "MetroResponse", + '400': "List[MetroError]", + '401': "List[MetroError]", + '500': "List[MetroError]", + } + 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_metros_without_preload_content( + self, + presence: Annotated[Optional[Presence], Field(description="User On Boarded Metros based on Fabric resource availability")] = None, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 all Metros + + GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location. + + :param presence: User On Boarded Metros based on Fabric resource availability + :type presence: Presence + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_metros_serialize( + presence=presence, + 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': "MetroResponse", + '400': "List[MetroError]", + '401': "List[MetroError]", + '500': "List[MetroError]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_metros_serialize( + self, + presence, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if presence is not None: + + _query_params.append(('presence', presence.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` + _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/metros', + 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/networks_api.py b/equinix/services/fabricv4/api/networks_api.py new file mode 100644 index 00000000..aa80ff10 --- /dev/null +++ b/equinix/services/fabricv4/api/networks_api.py @@ -0,0 +1,2280 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 List +from typing_extensions import Annotated +from equinix.services.fabricv4.models.network import Network +from equinix.services.fabricv4.models.network_change import NetworkChange +from equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation +from equinix.services.fabricv4.models.network_change_response import NetworkChangeResponse +from equinix.services.fabricv4.models.network_connections import NetworkConnections +from equinix.services.fabricv4.models.network_post_request import NetworkPostRequest +from equinix.services.fabricv4.models.network_search_request import NetworkSearchRequest +from equinix.services.fabricv4.models.network_search_response import NetworkSearchResponse + +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 NetworksApi: + """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_network( + self, + network_post_request: NetworkPostRequest, + _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, + ) -> Network: + """Create Network + + This API provides capability to create user's Fabric Network + + :param network_post_request: (required) + :type network_post_request: NetworkPostRequest + :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_network_serialize( + network_post_request=network_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Network", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_network_with_http_info( + self, + network_post_request: NetworkPostRequest, + _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[Network]: + """Create Network + + This API provides capability to create user's Fabric Network + + :param network_post_request: (required) + :type network_post_request: NetworkPostRequest + :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_network_serialize( + network_post_request=network_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Network", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_network_without_preload_content( + self, + network_post_request: NetworkPostRequest, + _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 Network + + This API provides capability to create user's Fabric Network + + :param network_post_request: (required) + :type network_post_request: NetworkPostRequest + :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_network_serialize( + network_post_request=network_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Network", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_network_serialize( + self, + network_post_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, str] = {} + _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 network_post_request is not None: + _body_params = network_post_request + + + # set the HTTP header `Accept` + _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/networks', + 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_network_by_uuid( + self, + network_id: Annotated[StrictStr, Field(description="Network 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, + ) -> Network: + """Delete Network By ID + + This API provides capability to delete user's Fabric Network + + :param network_id: Network UUID (required) + :type network_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_network_by_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Network", + '400': "List[Error]", + '401': "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_network_by_uuid_with_http_info( + self, + network_id: Annotated[StrictStr, Field(description="Network 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[Network]: + """Delete Network By ID + + This API provides capability to delete user's Fabric Network + + :param network_id: Network UUID (required) + :type network_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_network_by_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Network", + '400': "List[Error]", + '401': "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_network_by_uuid_without_preload_content( + self, + network_id: Annotated[StrictStr, Field(description="Network 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 Network By ID + + This API provides capability to delete user's Fabric Network + + :param network_id: Network UUID (required) + :type network_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_network_by_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Network", + '400': "List[Error]", + '401': "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_network_by_uuid_serialize( + self, + network_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if network_id is not None: + _path_params['networkId'] = network_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/networks/{networkId}', + 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_connections_by_network_uuid( + self, + network_id: Annotated[StrictStr, Field(description="Network 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, + ) -> NetworkConnections: + """Get Connections + + The API provides capability to get list of user's Fabric Network connections + + :param network_id: Network UUID (required) + :type network_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_connections_by_network_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkConnections", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_connections_by_network_uuid_with_http_info( + self, + network_id: Annotated[StrictStr, Field(description="Network 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[NetworkConnections]: + """Get Connections + + The API provides capability to get list of user's Fabric Network connections + + :param network_id: Network UUID (required) + :type network_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_connections_by_network_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkConnections", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_connections_by_network_uuid_without_preload_content( + self, + network_id: Annotated[StrictStr, Field(description="Network 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 Connections + + The API provides capability to get list of user's Fabric Network connections + + :param network_id: Network UUID (required) + :type network_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_connections_by_network_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkConnections", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connections_by_network_uuid_serialize( + self, + network_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if network_id is not None: + _path_params['networkId'] = network_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/networks/{networkId}/connections', + 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_network_by_uuid( + self, + network_id: Annotated[StrictStr, Field(description="Network 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, + ) -> Network: + """Get Network By ID + + This API provides capability to retrieve user's Fabric Network + + :param network_id: Network UUID (required) + :type network_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_network_by_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Network", + '401': "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_network_by_uuid_with_http_info( + self, + network_id: Annotated[StrictStr, Field(description="Network 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[Network]: + """Get Network By ID + + This API provides capability to retrieve user's Fabric Network + + :param network_id: Network UUID (required) + :type network_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_network_by_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Network", + '401': "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_network_by_uuid_without_preload_content( + self, + network_id: Annotated[StrictStr, Field(description="Network 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 Network By ID + + This API provides capability to retrieve user's Fabric Network + + :param network_id: Network UUID (required) + :type network_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_network_by_uuid_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Network", + '401': "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_network_by_uuid_serialize( + self, + network_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if network_id is not None: + _path_params['networkId'] = network_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/networks/{networkId}', + 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_network_change_by_uuid( + self, + network_id: Annotated[StrictStr, Field(description="Network UUID")], + change_id: Annotated[StrictStr, Field(description="Network Change 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, + ) -> NetworkChange: + """Get Change By ID + + This API provides capability to retrieve user's Fabric Network Change + + :param network_id: Network UUID (required) + :type network_id: str + :param change_id: Network Change UUID (required) + :type change_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_network_change_by_uuid_serialize( + network_id=network_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkChange", + '400': "List[Error]", + '401': "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_network_change_by_uuid_with_http_info( + self, + network_id: Annotated[StrictStr, Field(description="Network UUID")], + change_id: Annotated[StrictStr, Field(description="Network Change 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[NetworkChange]: + """Get Change By ID + + This API provides capability to retrieve user's Fabric Network Change + + :param network_id: Network UUID (required) + :type network_id: str + :param change_id: Network Change UUID (required) + :type change_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_network_change_by_uuid_serialize( + network_id=network_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkChange", + '400': "List[Error]", + '401': "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_network_change_by_uuid_without_preload_content( + self, + network_id: Annotated[StrictStr, Field(description="Network UUID")], + change_id: Annotated[StrictStr, Field(description="Network Change 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 Change By ID + + This API provides capability to retrieve user's Fabric Network Change + + :param network_id: Network UUID (required) + :type network_id: str + :param change_id: Network Change UUID (required) + :type change_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_network_change_by_uuid_serialize( + network_id=network_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkChange", + '400': "List[Error]", + '401': "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_network_change_by_uuid_serialize( + self, + network_id, + change_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if network_id is not None: + _path_params['networkId'] = network_id + if change_id is not None: + _path_params['changeId'] = change_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/networks/{networkId}/changes/{changeId}', + 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_network_changes( + self, + network_id: Annotated[StrictStr, Field(description="Network 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, + ) -> NetworkChangeResponse: + """Get Network Changes + + The API provides capability to get list of user's Fabric Network changes + + :param network_id: Network UUID (required) + :type network_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_network_changes_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkChangeResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_network_changes_with_http_info( + self, + network_id: Annotated[StrictStr, Field(description="Network 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[NetworkChangeResponse]: + """Get Network Changes + + The API provides capability to get list of user's Fabric Network changes + + :param network_id: Network UUID (required) + :type network_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_network_changes_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkChangeResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_network_changes_without_preload_content( + self, + network_id: Annotated[StrictStr, Field(description="Network 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 Network Changes + + The API provides capability to get list of user's Fabric Network changes + + :param network_id: Network UUID (required) + :type network_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_network_changes_serialize( + network_id=network_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkChangeResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_network_changes_serialize( + self, + network_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if network_id is not None: + _path_params['networkId'] = network_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/networks/{networkId}/changes', + 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_networks( + self, + network_search_request: NetworkSearchRequest, + _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, + ) -> NetworkSearchResponse: + """Search Network + + The API provides capability to get list of user's Fabric Network using search criteria, including optional filtering, pagination and sorting + + :param network_search_request: (required) + :type network_search_request: NetworkSearchRequest + :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_networks_serialize( + network_search_request=network_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkSearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_networks_with_http_info( + self, + network_search_request: NetworkSearchRequest, + _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[NetworkSearchResponse]: + """Search Network + + The API provides capability to get list of user's Fabric Network using search criteria, including optional filtering, pagination and sorting + + :param network_search_request: (required) + :type network_search_request: NetworkSearchRequest + :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_networks_serialize( + network_search_request=network_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkSearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_networks_without_preload_content( + self, + network_search_request: NetworkSearchRequest, + _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 Network + + The API provides capability to get list of user's Fabric Network using search criteria, including optional filtering, pagination and sorting + + :param network_search_request: (required) + :type network_search_request: NetworkSearchRequest + :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_networks_serialize( + network_search_request=network_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "NetworkSearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_networks_serialize( + self, + network_search_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, str] = {} + _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 network_search_request is not None: + _body_params = network_search_request + + + # set the HTTP header `Accept` + _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/networks/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 + ) + + + + + @validate_call + def update_network_by_uuid( + self, + network_id: Annotated[StrictStr, Field(description="Network UUID")], + network_change_operation: Annotated[List[NetworkChangeOperation], Field(min_length=1)], + _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, + ) -> Network: + """Update Network By ID + + This API provides capability to update user's Fabric Network + + :param network_id: Network UUID (required) + :type network_id: str + :param network_change_operation: (required) + :type network_change_operation: List[NetworkChangeOperation] + :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._update_network_by_uuid_serialize( + network_id=network_id, + network_change_operation=network_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Network", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 update_network_by_uuid_with_http_info( + self, + network_id: Annotated[StrictStr, Field(description="Network UUID")], + network_change_operation: Annotated[List[NetworkChangeOperation], Field(min_length=1)], + _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[Network]: + """Update Network By ID + + This API provides capability to update user's Fabric Network + + :param network_id: Network UUID (required) + :type network_id: str + :param network_change_operation: (required) + :type network_change_operation: List[NetworkChangeOperation] + :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._update_network_by_uuid_serialize( + network_id=network_id, + network_change_operation=network_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Network", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 update_network_by_uuid_without_preload_content( + self, + network_id: Annotated[StrictStr, Field(description="Network UUID")], + network_change_operation: Annotated[List[NetworkChangeOperation], Field(min_length=1)], + _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: + """Update Network By ID + + This API provides capability to update user's Fabric Network + + :param network_id: Network UUID (required) + :type network_id: str + :param network_change_operation: (required) + :type network_change_operation: List[NetworkChangeOperation] + :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._update_network_by_uuid_serialize( + network_id=network_id, + network_change_operation=network_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Network", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_network_by_uuid_serialize( + self, + network_id, + network_change_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'NetworkChangeOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if network_id is not None: + _path_params['networkId'] = network_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if network_change_operation is not None: + _body_params = network_change_operation + + + # set the HTTP header `Accept` + _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-patch+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='PATCH', + resource_path='/fabric/v4/networks/{networkId}', + 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/ports_api.py b/equinix/services/fabricv4/api/ports_api.py new file mode 100644 index 00000000..f00eae3c --- /dev/null +++ b/equinix/services/fabricv4/api/ports_api.py @@ -0,0 +1,2231 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.all_physical_ports_response import AllPhysicalPortsResponse +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse +from equinix.services.fabricv4.models.bulk_physical_port import BulkPhysicalPort +from equinix.services.fabricv4.models.bulk_port import BulkPort +from equinix.services.fabricv4.models.link_protocol_get_response import LinkProtocolGetResponse +from equinix.services.fabricv4.models.port import Port +from equinix.services.fabricv4.models.port_response import PortResponse +from equinix.services.fabricv4.models.port_v4_search_request import PortV4SearchRequest + +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 PortsApi: + """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 add_to_lag( + self, + port_id: Annotated[StrictStr, Field(description="Port UUID")], + bulk_physical_port: BulkPhysicalPort, + _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, + ) -> AllPhysicalPortsResponse: + """Add to Lag + + Add Physical Ports to Virtual Port. Preview + + :param port_id: Port UUID (required) + :type port_id: str + :param bulk_physical_port: (required) + :type bulk_physical_port: BulkPhysicalPort + :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._add_to_lag_serialize( + port_id=port_id, + bulk_physical_port=bulk_physical_port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPhysicalPortsResponse", + '401': "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 add_to_lag_with_http_info( + self, + port_id: Annotated[StrictStr, Field(description="Port UUID")], + bulk_physical_port: BulkPhysicalPort, + _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[AllPhysicalPortsResponse]: + """Add to Lag + + Add Physical Ports to Virtual Port. Preview + + :param port_id: Port UUID (required) + :type port_id: str + :param bulk_physical_port: (required) + :type bulk_physical_port: BulkPhysicalPort + :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._add_to_lag_serialize( + port_id=port_id, + bulk_physical_port=bulk_physical_port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPhysicalPortsResponse", + '401': "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 add_to_lag_without_preload_content( + self, + port_id: Annotated[StrictStr, Field(description="Port UUID")], + bulk_physical_port: BulkPhysicalPort, + _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: + """Add to Lag + + Add Physical Ports to Virtual Port. Preview + + :param port_id: Port UUID (required) + :type port_id: str + :param bulk_physical_port: (required) + :type bulk_physical_port: BulkPhysicalPort + :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._add_to_lag_serialize( + port_id=port_id, + bulk_physical_port=bulk_physical_port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPhysicalPortsResponse", + '401': "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 _add_to_lag_serialize( + self, + port_id, + bulk_physical_port, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if port_id is not None: + _path_params['portId'] = port_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if bulk_physical_port is not None: + _body_params = bulk_physical_port + + + # set the HTTP header `Accept` + _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/ports/{portId}/physicalPorts/bulk', + 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_bulk_port( + self, + bulk_port: BulkPort, + _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, + ) -> AllPortsResponse: + """Create Port + + Create Port creates Equinix Fabric? Port. Preview + + :param bulk_port: (required) + :type bulk_port: BulkPort + :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_bulk_port_serialize( + bulk_port=bulk_port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "AllPortsResponse", + } + 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_bulk_port_with_http_info( + self, + bulk_port: BulkPort, + _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[AllPortsResponse]: + """Create Port + + Create Port creates Equinix Fabric? Port. Preview + + :param bulk_port: (required) + :type bulk_port: BulkPort + :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_bulk_port_serialize( + bulk_port=bulk_port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "AllPortsResponse", + } + 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_bulk_port_without_preload_content( + self, + bulk_port: BulkPort, + _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 Port + + Create Port creates Equinix Fabric? Port. Preview + + :param bulk_port: (required) + :type bulk_port: BulkPort + :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_bulk_port_serialize( + bulk_port=bulk_port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "AllPortsResponse", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_bulk_port_serialize( + self, + bulk_port, + _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, str] = {} + _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 bulk_port is not None: + _body_params = bulk_port + + + # set the HTTP header `Accept` + _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/ports/bulk', + 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_port( + self, + port: Port, + _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, + ) -> PortResponse: + """Create Port + + Creates Equinix Fabric? Port. + + :param port: (required) + :type port: Port + :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_port_serialize( + port=port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "PortResponse", + '400': "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_port_with_http_info( + self, + port: Port, + _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[PortResponse]: + """Create Port + + Creates Equinix Fabric? Port. + + :param port: (required) + :type port: Port + :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_port_serialize( + port=port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "PortResponse", + '400': "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_port_without_preload_content( + self, + port: Port, + _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 Port + + Creates Equinix Fabric? Port. + + :param port: (required) + :type port: Port + :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_port_serialize( + port=port, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "PortResponse", + '400': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_port_serialize( + self, + port, + _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, str] = {} + _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 port is not None: + _body_params = port + + + # set the HTTP header `Accept` + _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/ports', + 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_port( + self, + port_id: Annotated[StrictStr, Field(description="Port 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, + ) -> Port: + """Delete a single port + + The API provides capability to delete a single port + + :param port_id: Port UUID (required) + :type port_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_port_serialize( + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Port", + '400': "List[Error]", + '401': "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_port_with_http_info( + self, + port_id: Annotated[StrictStr, Field(description="Port 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[Port]: + """Delete a single port + + The API provides capability to delete a single port + + :param port_id: Port UUID (required) + :type port_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_port_serialize( + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Port", + '400': "List[Error]", + '401': "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_port_without_preload_content( + self, + port_id: Annotated[StrictStr, Field(description="Port 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 a single port + + The API provides capability to delete a single port + + :param port_id: Port UUID (required) + :type port_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_port_serialize( + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "Port", + '400': "List[Error]", + '401': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_port_serialize( + self, + port_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if port_id is not None: + _path_params['portId'] = port_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/ports/{portId}', + 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_port_by_uuid( + self, + port_id: Annotated[StrictStr, Field(description="Port 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, + ) -> PortResponse: + """Get Port by uuid + + Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection. + + :param port_id: Port UUID (required) + :type port_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_port_by_uuid_serialize( + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PortResponse", + '400': "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 get_port_by_uuid_with_http_info( + self, + port_id: Annotated[StrictStr, Field(description="Port 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[PortResponse]: + """Get Port by uuid + + Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection. + + :param port_id: Port UUID (required) + :type port_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_port_by_uuid_serialize( + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PortResponse", + '400': "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 get_port_by_uuid_without_preload_content( + self, + port_id: Annotated[StrictStr, Field(description="Port 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 Port by uuid + + Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection. + + :param port_id: Port UUID (required) + :type port_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_port_by_uuid_serialize( + port_id=port_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PortResponse", + '400': "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 _get_port_by_uuid_serialize( + self, + port_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if port_id is not None: + _path_params['portId'] = port_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/ports/{portId}', + 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_ports( + self, + name: Annotated[Optional[StrictStr], Field(description="port name to be provided if specific port(s) to be retrieved")] = 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, + ) -> AllPortsResponse: + """Get All Ports + + Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection. + + :param name: port name to be provided if specific port(s) to be retrieved + :type name: 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_ports_serialize( + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPortsResponse", + '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 get_ports_with_http_info( + self, + name: Annotated[Optional[StrictStr], Field(description="port name to be provided if specific port(s) to be retrieved")] = 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[AllPortsResponse]: + """Get All Ports + + Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection. + + :param name: port name to be provided if specific port(s) to be retrieved + :type name: 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_ports_serialize( + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPortsResponse", + '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 get_ports_without_preload_content( + self, + name: Annotated[Optional[StrictStr], Field(description="port name to be provided if specific port(s) to be retrieved")] = 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 All Ports + + Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection. + + :param name: port name to be provided if specific port(s) to be retrieved + :type name: 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_ports_serialize( + name=name, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPortsResponse", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_ports_serialize( + self, + name, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if name is not None: + + _query_params.append(('name', name)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/ports', + 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_vlans( + self, + port_uuid: Annotated[StrictStr, Field(description="Port 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, + ) -> LinkProtocolGetResponse: + """Get Vlans + + The API provides capability to retrieve Vlans for a Port. + + :param port_uuid: Port UUID (required) + :type port_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_vlans_serialize( + port_uuid=port_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LinkProtocolGetResponse", + '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 get_vlans_with_http_info( + self, + port_uuid: Annotated[StrictStr, Field(description="Port 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[LinkProtocolGetResponse]: + """Get Vlans + + The API provides capability to retrieve Vlans for a Port. + + :param port_uuid: Port UUID (required) + :type port_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_vlans_serialize( + port_uuid=port_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LinkProtocolGetResponse", + '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 get_vlans_without_preload_content( + self, + port_uuid: Annotated[StrictStr, Field(description="Port 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 Vlans + + The API provides capability to retrieve Vlans for a Port. + + :param port_uuid: Port UUID (required) + :type port_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_vlans_serialize( + port_uuid=port_uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "LinkProtocolGetResponse", + '400': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_vlans_serialize( + self, + port_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if port_uuid is not None: + _path_params['portUuid'] = port_uuid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/ports/{portUuid}/linkProtocols', + 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_ports( + self, + port_v4_search_request: PortV4SearchRequest, + _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, + ) -> AllPortsResponse: + """Search ports + + The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting + + :param port_v4_search_request: (required) + :type port_v4_search_request: PortV4SearchRequest + :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_ports_serialize( + port_v4_search_request=port_v4_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPortsResponse", + '400': "List[Error]", + '401': "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 search_ports_with_http_info( + self, + port_v4_search_request: PortV4SearchRequest, + _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[AllPortsResponse]: + """Search ports + + The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting + + :param port_v4_search_request: (required) + :type port_v4_search_request: PortV4SearchRequest + :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_ports_serialize( + port_v4_search_request=port_v4_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPortsResponse", + '400': "List[Error]", + '401': "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 search_ports_without_preload_content( + self, + port_v4_search_request: PortV4SearchRequest, + _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 ports + + The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting + + :param port_v4_search_request: (required) + :type port_v4_search_request: PortV4SearchRequest + :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_ports_serialize( + port_v4_search_request=port_v4_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AllPortsResponse", + '400': "List[Error]", + '401': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_ports_serialize( + self, + port_v4_search_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, str] = {} + _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 port_v4_search_request is not None: + _body_params = port_v4_search_request + + + # set the HTTP header `Accept` + _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/ports/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/precision_time_api.py b/equinix/services/fabricv4/api/precision_time_api.py new file mode 100644 index 00000000..05fee3ad --- /dev/null +++ b/equinix/services/fabricv4/api/precision_time_api.py @@ -0,0 +1,1960 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 List +from typing_extensions import Annotated +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter +from equinix.services.fabricv4.models.precision_time_change_operation import PrecisionTimeChangeOperation +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse +from equinix.services.fabricv4.models.precision_time_service_connections_response import PrecisionTimeServiceConnectionsResponse +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +from equinix.services.fabricv4.models.precision_time_service_packages_response import PrecisionTimeServicePackagesResponse +from equinix.services.fabricv4.models.precision_time_service_request import PrecisionTimeServiceRequest + +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 PrecisionTimeApi: + """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_time_services( + self, + precision_time_service_request: PrecisionTimeServiceRequest, + _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, + ) -> PrecisionTimeServiceCreateResponse: + """Create Time Service + + The API provides capability to create timing service + + :param precision_time_service_request: (required) + :type precision_time_service_request: PrecisionTimeServiceRequest + :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_time_services_serialize( + precision_time_service_request=precision_time_service_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_services_with_http_info( + self, + precision_time_service_request: PrecisionTimeServiceRequest, + _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[PrecisionTimeServiceCreateResponse]: + """Create Time Service + + The API provides capability to create timing service + + :param precision_time_service_request: (required) + :type precision_time_service_request: PrecisionTimeServiceRequest + :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_time_services_serialize( + precision_time_service_request=precision_time_service_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_services_without_preload_content( + self, + precision_time_service_request: PrecisionTimeServiceRequest, + _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 Time Service + + The API provides capability to create timing service + + :param precision_time_service_request: (required) + :type precision_time_service_request: PrecisionTimeServiceRequest + :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_time_services_serialize( + precision_time_service_request=precision_time_service_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_time_services_serialize( + self, + precision_time_service_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, str] = {} + _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 precision_time_service_request is not None: + _body_params = precision_time_service_request + + + # set the HTTP header `Accept` + _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/timeServices', + 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_time_service_by_id( + self, + service_id: Annotated[StrictStr, Field(description="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, + ) -> PrecisionTimeServiceCreateResponse: + """Delete time service + + Delete EPT service by it's uuid + + :param service_id: Service UUID (required) + :type 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._delete_time_service_by_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_service_by_id_with_http_info( + self, + service_id: Annotated[StrictStr, Field(description="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[PrecisionTimeServiceCreateResponse]: + """Delete time service + + Delete EPT service by it's uuid + + :param service_id: Service UUID (required) + :type 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._delete_time_service_by_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_service_by_id_without_preload_content( + self, + service_id: Annotated[StrictStr, Field(description="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: + """Delete time service + + Delete EPT service by it's uuid + + :param service_id: Service UUID (required) + :type 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._delete_time_service_by_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_time_service_by_id_serialize( + self, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_id is not None: + _path_params['serviceId'] = service_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/timeServices/{serviceId}', + 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_time_services_by_id( + self, + service_id: Annotated[StrictStr, Field(description="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, + ) -> PrecisionTimeServiceCreateResponse: + """Get Time Service + + The API provides capability to get precision timing service's details + + :param service_id: Service UUID (required) + :type 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._get_time_services_by_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_services_by_id_with_http_info( + self, + service_id: Annotated[StrictStr, Field(description="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[PrecisionTimeServiceCreateResponse]: + """Get Time Service + + The API provides capability to get precision timing service's details + + :param service_id: Service UUID (required) + :type 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._get_time_services_by_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_services_by_id_without_preload_content( + self, + service_id: Annotated[StrictStr, Field(description="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: + """Get Time Service + + The API provides capability to get precision timing service's details + + :param service_id: Service UUID (required) + :type 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._get_time_services_by_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_time_services_by_id_serialize( + self, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_id is not None: + _path_params['serviceId'] = service_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/timeServices/{serviceId}', + 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_time_services_connections_by_service_id( + self, + service_id: Annotated[StrictStr, Field(description="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, + ) -> PrecisionTimeServiceConnectionsResponse: + """Get Connection Links + + The API provides capability to get prevision timing service's details + + :param service_id: Service UUID (required) + :type 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._get_time_services_connections_by_service_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServiceConnectionsResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_services_connections_by_service_id_with_http_info( + self, + service_id: Annotated[StrictStr, Field(description="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[PrecisionTimeServiceConnectionsResponse]: + """Get Connection Links + + The API provides capability to get prevision timing service's details + + :param service_id: Service UUID (required) + :type 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._get_time_services_connections_by_service_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServiceConnectionsResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "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_time_services_connections_by_service_id_without_preload_content( + self, + service_id: Annotated[StrictStr, Field(description="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: + """Get Connection Links + + The API provides capability to get prevision timing service's details + + :param service_id: Service UUID (required) + :type 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._get_time_services_connections_by_service_id_serialize( + service_id=service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServiceConnectionsResponse", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_time_services_connections_by_service_id_serialize( + self, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_id is not None: + _path_params['serviceId'] = service_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/timeServices/{serviceId}/connections', + 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_time_services_package_by_code( + self, + package_code: Annotated[GetTimeServicesPackageByCodePackageCodeParameter, Field(description="Package Code")], + _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, + ) -> PrecisionTimePackageResponse: + """Get Package By Code + + The API provides capability to get timing service's package by code + + :param package_code: Package Code (required) + :type package_code: GetTimeServicesPackageByCodePackageCodeParameter + :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_time_services_package_by_code_serialize( + package_code=package_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimePackageResponse", + '415': "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_time_services_package_by_code_with_http_info( + self, + package_code: Annotated[GetTimeServicesPackageByCodePackageCodeParameter, Field(description="Package Code")], + _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[PrecisionTimePackageResponse]: + """Get Package By Code + + The API provides capability to get timing service's package by code + + :param package_code: Package Code (required) + :type package_code: GetTimeServicesPackageByCodePackageCodeParameter + :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_time_services_package_by_code_serialize( + package_code=package_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimePackageResponse", + '415': "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_time_services_package_by_code_without_preload_content( + self, + package_code: Annotated[GetTimeServicesPackageByCodePackageCodeParameter, Field(description="Package Code")], + _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 Package By Code + + The API provides capability to get timing service's package by code + + :param package_code: Package Code (required) + :type package_code: GetTimeServicesPackageByCodePackageCodeParameter + :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_time_services_package_by_code_serialize( + package_code=package_code, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimePackageResponse", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_time_services_package_by_code_serialize( + self, + package_code, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if package_code is not None: + _path_params['packageCode'] = package_code.value + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/timeServicePackages/{packageCode}', + 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_time_services_packages( + self, + _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, + ) -> PrecisionTimeServicePackagesResponse: + """Get Packages + + The API provides capability to get timing service's packages + + :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_time_services_packages_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServicePackagesResponse", + '415': "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_time_services_packages_with_http_info( + self, + _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[PrecisionTimeServicePackagesResponse]: + """Get Packages + + The API provides capability to get timing service's packages + + :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_time_services_packages_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServicePackagesResponse", + '415': "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_time_services_packages_without_preload_content( + self, + _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 Packages + + The API provides capability to get timing service's packages + + :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_time_services_packages_serialize( + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrecisionTimeServicePackagesResponse", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_time_services_packages_serialize( + self, + _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, str] = {} + _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 + + + # set the HTTP header `Accept` + _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/timeServicePackages', + 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 update_time_services_by_id( + self, + service_id: Annotated[StrictStr, Field(description="Service UUID")], + precision_time_change_operation: Annotated[List[PrecisionTimeChangeOperation], Field(min_length=1, max_length=1)], + _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, + ) -> PrecisionTimeServiceCreateResponse: + """Patch time service + + The API provides capability to update timing service + + :param service_id: Service UUID (required) + :type service_id: str + :param precision_time_change_operation: (required) + :type precision_time_change_operation: List[PrecisionTimeChangeOperation] + :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._update_time_services_by_id_serialize( + service_id=service_id, + precision_time_change_operation=precision_time_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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 update_time_services_by_id_with_http_info( + self, + service_id: Annotated[StrictStr, Field(description="Service UUID")], + precision_time_change_operation: Annotated[List[PrecisionTimeChangeOperation], Field(min_length=1, max_length=1)], + _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[PrecisionTimeServiceCreateResponse]: + """Patch time service + + The API provides capability to update timing service + + :param service_id: Service UUID (required) + :type service_id: str + :param precision_time_change_operation: (required) + :type precision_time_change_operation: List[PrecisionTimeChangeOperation] + :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._update_time_services_by_id_serialize( + service_id=service_id, + precision_time_change_operation=precision_time_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "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 update_time_services_by_id_without_preload_content( + self, + service_id: Annotated[StrictStr, Field(description="Service UUID")], + precision_time_change_operation: Annotated[List[PrecisionTimeChangeOperation], Field(min_length=1, max_length=1)], + _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: + """Patch time service + + The API provides capability to update timing service + + :param service_id: Service UUID (required) + :type service_id: str + :param precision_time_change_operation: (required) + :type precision_time_change_operation: List[PrecisionTimeChangeOperation] + :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._update_time_services_by_id_serialize( + service_id=service_id, + precision_time_change_operation=precision_time_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "PrecisionTimeServiceCreateResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_time_services_by_id_serialize( + self, + service_id, + precision_time_change_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'PrecisionTimeChangeOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_id is not None: + _path_params['serviceId'] = service_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if precision_time_change_operation is not None: + _body_params = precision_time_change_operation + + + # set the HTTP header `Accept` + _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-patch+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='PATCH', + resource_path='/fabric/v4/timeServices/{serviceId}', + 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/prices_api.py b/equinix/services/fabricv4/api/prices_api.py new file mode 100644 index 00000000..1474b5d6 --- /dev/null +++ b/equinix/services/fabricv4/api/prices_api.py @@ -0,0 +1,315 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 equinix.services.fabricv4.models.filter_body import FilterBody +from equinix.services.fabricv4.models.price_search_response import PriceSearchResponse + +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 PricesApi: + """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 search_prices( + self, + filter_body: FilterBody, + _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, + ) -> PriceSearchResponse: + """Get Prices + + Search prices by search criteria + + :param filter_body: (required) + :type filter_body: FilterBody + :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_prices_serialize( + filter_body=filter_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PriceSearchResponse", + '400': "List[PriceError]", + '500': "List[PriceError]", + } + 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_prices_with_http_info( + self, + filter_body: FilterBody, + _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[PriceSearchResponse]: + """Get Prices + + Search prices by search criteria + + :param filter_body: (required) + :type filter_body: FilterBody + :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_prices_serialize( + filter_body=filter_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PriceSearchResponse", + '400': "List[PriceError]", + '500': "List[PriceError]", + } + 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_prices_without_preload_content( + self, + filter_body: FilterBody, + _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 Prices + + Search prices by search criteria + + :param filter_body: (required) + :type filter_body: FilterBody + :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_prices_serialize( + filter_body=filter_body, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PriceSearchResponse", + '400': "List[PriceError]", + '500': "List[PriceError]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_prices_serialize( + self, + filter_body, + _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, str] = {} + _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 filter_body is not None: + _body_params = filter_body + + + # set the HTTP header `Accept` + _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/prices/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/route_filter_rules_api.py b/equinix/services/fabricv4/api/route_filter_rules_api.py new file mode 100644 index 00000000..b5e2b447 --- /dev/null +++ b/equinix/services/fabricv4/api/route_filter_rules_api.py @@ -0,0 +1,2807 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.get_route_filter_rules_response import GetRouteFilterRulesResponse +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData +from equinix.services.fabricv4.models.route_filter_rules_change_data_response import RouteFilterRulesChangeDataResponse +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +from equinix.services.fabricv4.models.route_filter_rules_patch_request_item import RouteFilterRulesPatchRequestItem +from equinix.services.fabricv4.models.route_filter_rules_post_request import RouteFilterRulesPostRequest + +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 RouteFilterRulesApi: + """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_route_filter_rule( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rules_base: RouteFilterRulesBase, + _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, + ) -> RouteFilterRulesData: + """Create RFRule + + This API provides capability to create a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rules_base: (required) + :type route_filter_rules_base: RouteFilterRulesBase + :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_route_filter_rule_serialize( + route_filter_id=route_filter_id, + route_filter_rules_base=route_filter_rules_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rule_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rules_base: RouteFilterRulesBase, + _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[RouteFilterRulesData]: + """Create RFRule + + This API provides capability to create a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rules_base: (required) + :type route_filter_rules_base: RouteFilterRulesBase + :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_route_filter_rule_serialize( + route_filter_id=route_filter_id, + route_filter_rules_base=route_filter_rules_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rule_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rules_base: RouteFilterRulesBase, + _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 RFRule + + This API provides capability to create a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rules_base: (required) + :type route_filter_rules_base: RouteFilterRulesBase + :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_route_filter_rule_serialize( + route_filter_id=route_filter_id, + route_filter_rules_base=route_filter_rules_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_route_filter_rule_serialize( + self, + route_filter_id, + route_filter_rules_base, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if route_filter_rules_base is not None: + _body_params = route_filter_rules_base + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/routeFilterRules', + 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_route_filter_rules_in_bulk( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rules_post_request: RouteFilterRulesPostRequest, + _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, + ) -> GetRouteFilterRulesResponse: + """Bulk RFRules + + This API provides capability to create bulk route filter rules + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rules_post_request: (required) + :type route_filter_rules_post_request: RouteFilterRulesPostRequest + :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_route_filter_rules_in_bulk_serialize( + route_filter_id=route_filter_id, + route_filter_rules_post_request=route_filter_rules_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "GetRouteFilterRulesResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rules_in_bulk_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rules_post_request: RouteFilterRulesPostRequest, + _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[GetRouteFilterRulesResponse]: + """Bulk RFRules + + This API provides capability to create bulk route filter rules + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rules_post_request: (required) + :type route_filter_rules_post_request: RouteFilterRulesPostRequest + :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_route_filter_rules_in_bulk_serialize( + route_filter_id=route_filter_id, + route_filter_rules_post_request=route_filter_rules_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "GetRouteFilterRulesResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rules_in_bulk_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rules_post_request: RouteFilterRulesPostRequest, + _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: + """Bulk RFRules + + This API provides capability to create bulk route filter rules + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rules_post_request: (required) + :type route_filter_rules_post_request: RouteFilterRulesPostRequest + :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_route_filter_rules_in_bulk_serialize( + route_filter_id=route_filter_id, + route_filter_rules_post_request=route_filter_rules_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "GetRouteFilterRulesResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_route_filter_rules_in_bulk_serialize( + self, + route_filter_id, + route_filter_rules_post_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if route_filter_rules_post_request is not None: + _body_params = route_filter_rules_post_request + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/routeFilterRules/bulk', + 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_route_filter_rule_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + _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, + ) -> RouteFilterRulesData: + """DeleteRFRule + + This API provides capability to delete a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_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_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rule_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + _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[RouteFilterRulesData]: + """DeleteRFRule + + This API provides capability to delete a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_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_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rule_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + _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: + """DeleteRFRule + + This API provides capability to delete a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_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_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_route_filter_rule_by_uuid_serialize( + self, + route_filter_id, + route_filter_rule_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if route_filter_rule_id is not None: + _path_params['routeFilterRuleId'] = route_filter_rule_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}', + 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_route_filter_rule_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + _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, + ) -> RouteFilterRulesData: + """GetRFRule By UUID + + This API provides capability to view a Route Filter Rule by UUID + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_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_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rule_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + _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[RouteFilterRulesData]: + """GetRFRule By UUID + + This API provides capability to view a Route Filter Rule by UUID + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_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_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_rule_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + _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: + """GetRFRule By UUID + + This API provides capability to view a Route Filter Rule by UUID + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_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_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_route_filter_rule_by_uuid_serialize( + self, + route_filter_id, + route_filter_rule_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if route_filter_rule_id is not None: + _path_params['routeFilterRuleId'] = route_filter_rule_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}', + 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_route_filter_rule_change_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + change_id: Annotated[StrictStr, Field(description="Route Filter Rule Change 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, + ) -> RouteFilterRulesChangeData: + """Get Change By ID + + This API provides capability to retrieve a specific Route Filter Rule's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param change_id: Route Filter Rule Change UUID (required) + :type change_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_route_filter_rule_change_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFilterRulesChangeData", + '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_route_filter_rule_change_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + change_id: Annotated[StrictStr, Field(description="Route Filter Rule Change 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[RouteFilterRulesChangeData]: + """Get Change By ID + + This API provides capability to retrieve a specific Route Filter Rule's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param change_id: Route Filter Rule Change UUID (required) + :type change_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_route_filter_rule_change_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFilterRulesChangeData", + '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_route_filter_rule_change_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + change_id: Annotated[StrictStr, Field(description="Route Filter Rule Change 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 Change By ID + + This API provides capability to retrieve a specific Route Filter Rule's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param change_id: Route Filter Rule Change UUID (required) + :type change_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_route_filter_rule_change_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFilterRulesChangeData", + '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_route_filter_rule_change_by_uuid_serialize( + self, + route_filter_id, + route_filter_rule_id, + change_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if route_filter_rule_id is not None: + _path_params['routeFilterRuleId'] = route_filter_rule_id + if change_id is not None: + _path_params['changeId'] = change_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}', + 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_route_filter_rule_changes( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> RouteFilterRulesChangeDataResponse: + """Get All Changes + + This API provides capability to retrieve all of a Route Filter Rule's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_rule_changes_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + 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': "RouteFilterRulesChangeDataResponse", + '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_route_filter_rule_changes_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[RouteFilterRulesChangeDataResponse]: + """Get All Changes + + This API provides capability to retrieve all of a Route Filter Rule's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_rule_changes_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + 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': "RouteFilterRulesChangeDataResponse", + '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_route_filter_rule_changes_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 All Changes + + This API provides capability to retrieve all of a Route Filter Rule's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_rule_changes_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + 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': "RouteFilterRulesChangeDataResponse", + '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_route_filter_rule_changes_serialize( + self, + route_filter_id, + route_filter_rule_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if route_filter_rule_id is not None: + _path_params['routeFilterRuleId'] = route_filter_rule_id + # process the query parameters + 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` + _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/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes', + 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_route_filter_rules( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> GetRouteFilterRulesResponse: + """GetRFRules + + This API provides capability to get all Route Filters Rules for Fabric + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_rules_serialize( + route_filter_id=route_filter_id, + 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': "GetRouteFilterRulesResponse", + '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_route_filter_rules_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[GetRouteFilterRulesResponse]: + """GetRFRules + + This API provides capability to get all Route Filters Rules for Fabric + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_rules_serialize( + route_filter_id=route_filter_id, + 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': "GetRouteFilterRulesResponse", + '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_route_filter_rules_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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: + """GetRFRules + + This API provides capability to get all Route Filters Rules for Fabric + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_rules_serialize( + route_filter_id=route_filter_id, + 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': "GetRouteFilterRulesResponse", + '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_route_filter_rules_serialize( + self, + route_filter_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + 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` + _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/routeFilters/{routeFilterId}/routeFilterRules', + 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 patch_route_filter_rule_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + route_filter_rules_patch_request_item: Annotated[List[RouteFilterRulesPatchRequestItem], Field(min_length=1)], + _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, + ) -> RouteFilterRulesData: + """PatchRFilterRule + + This API provides capability to partially update a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param route_filter_rules_patch_request_item: (required) + :type route_filter_rules_patch_request_item: List[RouteFilterRulesPatchRequestItem] + :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._patch_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + route_filter_rules_patch_request_item=route_filter_rules_patch_request_item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 patch_route_filter_rule_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + route_filter_rules_patch_request_item: Annotated[List[RouteFilterRulesPatchRequestItem], Field(min_length=1)], + _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[RouteFilterRulesData]: + """PatchRFilterRule + + This API provides capability to partially update a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param route_filter_rules_patch_request_item: (required) + :type route_filter_rules_patch_request_item: List[RouteFilterRulesPatchRequestItem] + :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._patch_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + route_filter_rules_patch_request_item=route_filter_rules_patch_request_item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 patch_route_filter_rule_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + route_filter_rules_patch_request_item: Annotated[List[RouteFilterRulesPatchRequestItem], Field(min_length=1)], + _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: + """PatchRFilterRule + + This API provides capability to partially update a Route Filter Rule + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param route_filter_rules_patch_request_item: (required) + :type route_filter_rules_patch_request_item: List[RouteFilterRulesPatchRequestItem] + :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._patch_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + route_filter_rules_patch_request_item=route_filter_rules_patch_request_item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_route_filter_rule_by_uuid_serialize( + self, + route_filter_id, + route_filter_rule_id, + route_filter_rules_patch_request_item, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'RouteFilterRulesPatchRequestItem': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if route_filter_rule_id is not None: + _path_params['routeFilterRuleId'] = route_filter_rule_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if route_filter_rules_patch_request_item is not None: + _body_params = route_filter_rules_patch_request_item + + + # set the HTTP header `Accept` + _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='PATCH', + resource_path='/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}', + 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 replace_route_filter_rule_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + route_filter_rules_base: RouteFilterRulesBase, + _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, + ) -> RouteFilterRulesData: + """ReplaceRFRule + + This API provides capability to replace a Route Filter Rule completely + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param route_filter_rules_base: (required) + :type route_filter_rules_base: RouteFilterRulesBase + :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._replace_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + route_filter_rules_base=route_filter_rules_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 replace_route_filter_rule_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + route_filter_rules_base: RouteFilterRulesBase, + _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[RouteFilterRulesData]: + """ReplaceRFRule + + This API provides capability to replace a Route Filter Rule completely + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param route_filter_rules_base: (required) + :type route_filter_rules_base: RouteFilterRulesBase + :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._replace_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + route_filter_rules_base=route_filter_rules_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 replace_route_filter_rule_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filter_rule_id: Annotated[StrictStr, Field(description="Route Filter Rules Id")], + route_filter_rules_base: RouteFilterRulesBase, + _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: + """ReplaceRFRule + + This API provides capability to replace a Route Filter Rule completely + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filter_rule_id: Route Filter Rules Id (required) + :type route_filter_rule_id: str + :param route_filter_rules_base: (required) + :type route_filter_rules_base: RouteFilterRulesBase + :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._replace_route_filter_rule_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filter_rule_id=route_filter_rule_id, + route_filter_rules_base=route_filter_rules_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFilterRulesData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _replace_route_filter_rule_by_uuid_serialize( + self, + route_filter_id, + route_filter_rule_id, + route_filter_rules_base, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if route_filter_rule_id is not None: + _path_params['routeFilterRuleId'] = route_filter_rule_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if route_filter_rules_base is not None: + _body_params = route_filter_rules_base + + + # set the HTTP header `Accept` + _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='PUT', + resource_path='/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}', + 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/route_filters_api.py b/equinix/services/fabricv4/api/route_filters_api.py new file mode 100644 index 00000000..caa1943f --- /dev/null +++ b/equinix/services/fabricv4/api/route_filters_api.py @@ -0,0 +1,3533 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection_route_filter_data import ConnectionRouteFilterData +from equinix.services.fabricv4.models.connection_route_filters_base import ConnectionRouteFiltersBase +from equinix.services.fabricv4.models.get_all_connection_route_filters_response import GetAllConnectionRouteFiltersResponse +from equinix.services.fabricv4.models.get_route_filter_get_connections_response import GetRouteFilterGetConnectionsResponse +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData +from equinix.services.fabricv4.models.route_filter_change_data_response import RouteFilterChangeDataResponse +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +from equinix.services.fabricv4.models.route_filters_patch_request_item import RouteFiltersPatchRequestItem +from equinix.services.fabricv4.models.route_filters_search_base import RouteFiltersSearchBase +from equinix.services.fabricv4.models.route_filters_search_response import RouteFiltersSearchResponse + +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 RouteFiltersApi: + """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_connection_route_filter( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_route_filters_base: ConnectionRouteFiltersBase, + _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, + ) -> ConnectionRouteFilterData: + """Attach Route Filter + + This API provides capability to attach a Route Filter to a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_route_filters_base: (required) + :type connection_route_filters_base: ConnectionRouteFiltersBase + :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_connection_route_filter_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + connection_route_filters_base=connection_route_filters_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 attach_connection_route_filter_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_route_filters_base: ConnectionRouteFiltersBase, + _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[ConnectionRouteFilterData]: + """Attach Route Filter + + This API provides capability to attach a Route Filter to a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_route_filters_base: (required) + :type connection_route_filters_base: ConnectionRouteFiltersBase + :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_connection_route_filter_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + connection_route_filters_base=connection_route_filters_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 attach_connection_route_filter_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_route_filters_base: ConnectionRouteFiltersBase, + _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 Route Filter + + This API provides capability to attach a Route Filter to a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_route_filters_base: (required) + :type connection_route_filters_base: ConnectionRouteFiltersBase + :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_connection_route_filter_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + connection_route_filters_base=connection_route_filters_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _attach_connection_route_filter_serialize( + self, + route_filter_id, + connection_id, + connection_route_filters_base, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if connection_route_filters_base is not None: + _body_params = connection_route_filters_base + + + # set the HTTP header `Accept` + _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='PUT', + resource_path='/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}', + 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_route_filter( + self, + route_filters_base: RouteFiltersBase, + _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, + ) -> RouteFiltersData: + """Create Route Filters + + This API provides capability to create a Route Filter + + :param route_filters_base: (required) + :type route_filters_base: RouteFiltersBase + :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_route_filter_serialize( + route_filters_base=route_filters_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_with_http_info( + self, + route_filters_base: RouteFiltersBase, + _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[RouteFiltersData]: + """Create Route Filters + + This API provides capability to create a Route Filter + + :param route_filters_base: (required) + :type route_filters_base: RouteFiltersBase + :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_route_filter_serialize( + route_filters_base=route_filters_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_without_preload_content( + self, + route_filters_base: RouteFiltersBase, + _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 Route Filters + + This API provides capability to create a Route Filter + + :param route_filters_base: (required) + :type route_filters_base: RouteFiltersBase + :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_route_filter_serialize( + route_filters_base=route_filters_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_route_filter_serialize( + self, + route_filters_base, + _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, str] = {} + _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 route_filters_base is not None: + _body_params = route_filters_base + + + # set the HTTP header `Accept` + _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/routeFilters', + 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_route_filter_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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, + ) -> RouteFiltersData: + """Delete Route Filter + + This API provides capability to delete a Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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[RouteFiltersData]: + """Delete Route Filter + + This API provides capability to delete a Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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 Route Filter + + This API provides capability to delete a Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_route_filter_by_uuid_serialize( + self, + route_filter_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}', + 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_connection_route_filter( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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, + ) -> ConnectionRouteFilterData: + """Detach Route Filter + + This API provides capability to detach a Route Filter from a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filter_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 detach_connection_route_filter_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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[ConnectionRouteFilterData]: + """Detach Route Filter + + This API provides capability to detach a Route Filter from a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filter_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 detach_connection_route_filter_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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 Route Filter + + This API provides capability to detach a Route Filter from a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filter_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _detach_connection_route_filter_serialize( + self, + route_filter_id, + connection_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routeFilters/{routeFilterId}', + 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_connection_route_filter_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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, + ) -> ConnectionRouteFilterData: + """Get Route Filter + + This API provides capability to view a specific Route Filter attached to a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_route_filter_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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[ConnectionRouteFilterData]: + """Get Route Filter + + This API provides capability to view a specific Route Filter attached to a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_route_filter_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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 Route Filter + + This API provides capability to view a specific Route Filter attached to a Connection + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ConnectionRouteFilterData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_route_filter_by_uuid_serialize( + self, + route_filter_id, + connection_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routeFilters/{routeFilterId}', + 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_connection_route_filters( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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, + ) -> GetAllConnectionRouteFiltersResponse: + """Get All RouteFilters + + This API provides capability to view all Route Filters attached to a Connection + + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filters_serialize( + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAllConnectionRouteFiltersResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_route_filters_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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[GetAllConnectionRouteFiltersResponse]: + """Get All RouteFilters + + This API provides capability to view all Route Filters attached to a Connection + + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filters_serialize( + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAllConnectionRouteFiltersResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_route_filters_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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 All RouteFilters + + This API provides capability to view all Route Filters attached to a Connection + + :param connection_id: Connection Id (required) + :type connection_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_connection_route_filters_serialize( + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetAllConnectionRouteFiltersResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_route_filters_serialize( + self, + connection_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routeFilters', + 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_route_filter_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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, + ) -> RouteFiltersData: + """Get Filter By UUID + + This API provides capability to view a Route Filter by UUID + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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[RouteFiltersData]: + """Get Filter By UUID + + This API provides capability to view a Route Filter by UUID + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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 Filter By UUID + + This API provides capability to view a Route Filter by UUID + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_route_filter_by_uuid_serialize( + self, + route_filter_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}', + 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_route_filter_change_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + change_id: Annotated[StrictStr, Field(description="Routing Protocol Change 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, + ) -> RouteFilterChangeData: + """Get Change By ID + + This API provides capability to retrieve a specific Route Filter's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param change_id: Routing Protocol Change UUID (required) + :type change_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_route_filter_change_by_uuid_serialize( + route_filter_id=route_filter_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFilterChangeData", + '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_route_filter_change_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + change_id: Annotated[StrictStr, Field(description="Routing Protocol Change 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[RouteFilterChangeData]: + """Get Change By ID + + This API provides capability to retrieve a specific Route Filter's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param change_id: Routing Protocol Change UUID (required) + :type change_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_route_filter_change_by_uuid_serialize( + route_filter_id=route_filter_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFilterChangeData", + '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_route_filter_change_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + change_id: Annotated[StrictStr, Field(description="Routing Protocol Change 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 Change By ID + + This API provides capability to retrieve a specific Route Filter's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param change_id: Routing Protocol Change UUID (required) + :type change_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_route_filter_change_by_uuid_serialize( + route_filter_id=route_filter_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFilterChangeData", + '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_route_filter_change_by_uuid_serialize( + self, + route_filter_id, + change_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + if change_id is not None: + _path_params['changeId'] = change_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/changes/{changeId}', + 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_route_filter_changes( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> RouteFilterChangeDataResponse: + """Get All Changes + + This API provides capability to retrieve all of a Route Filter's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_changes_serialize( + route_filter_id=route_filter_id, + 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': "RouteFilterChangeDataResponse", + '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_route_filter_changes_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[RouteFilterChangeDataResponse]: + """Get All Changes + + This API provides capability to retrieve all of a Route Filter's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_changes_serialize( + route_filter_id=route_filter_id, + 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': "RouteFilterChangeDataResponse", + '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_route_filter_changes_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 All Changes + + This API provides capability to retrieve all of a Route Filter's Changes + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_route_filter_changes_serialize( + route_filter_id=route_filter_id, + 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': "RouteFilterChangeDataResponse", + '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_route_filter_changes_serialize( + self, + route_filter_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + 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` + _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/routeFilters/{routeFilterId}/changes', + 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_route_filter_connections( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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, + ) -> GetRouteFilterGetConnectionsResponse: + """Get Connections + + This API provides capability to view all Connections using the Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_connections_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRouteFilterGetConnectionsResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_connections_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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[GetRouteFilterGetConnectionsResponse]: + """Get Connections + + This API provides capability to view all Connections using the Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_connections_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRouteFilterGetConnectionsResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_route_filter_connections_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + _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 Connections + + This API provides capability to view all Connections using the Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_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_route_filter_connections_serialize( + route_filter_id=route_filter_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetRouteFilterGetConnectionsResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_route_filter_connections_serialize( + self, + route_filter_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/routeFilters/{routeFilterId}/connections', + 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 patch_route_filter_by_uuid( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filters_patch_request_item: Annotated[List[RouteFiltersPatchRequestItem], Field(min_length=1)], + _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, + ) -> RouteFiltersData: + """Patch Route Filter + + This API provides capability to partially update a Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filters_patch_request_item: (required) + :type route_filters_patch_request_item: List[RouteFiltersPatchRequestItem] + :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._patch_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filters_patch_request_item=route_filters_patch_request_item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 patch_route_filter_by_uuid_with_http_info( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filters_patch_request_item: Annotated[List[RouteFiltersPatchRequestItem], Field(min_length=1)], + _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[RouteFiltersData]: + """Patch Route Filter + + This API provides capability to partially update a Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filters_patch_request_item: (required) + :type route_filters_patch_request_item: List[RouteFiltersPatchRequestItem] + :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._patch_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filters_patch_request_item=route_filters_patch_request_item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 patch_route_filter_by_uuid_without_preload_content( + self, + route_filter_id: Annotated[StrictStr, Field(description="Route Filters Id")], + route_filters_patch_request_item: Annotated[List[RouteFiltersPatchRequestItem], Field(min_length=1)], + _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: + """Patch Route Filter + + This API provides capability to partially update a Route Filter + + :param route_filter_id: Route Filters Id (required) + :type route_filter_id: str + :param route_filters_patch_request_item: (required) + :type route_filters_patch_request_item: List[RouteFiltersPatchRequestItem] + :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._patch_route_filter_by_uuid_serialize( + route_filter_id=route_filter_id, + route_filters_patch_request_item=route_filters_patch_request_item, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RouteFiltersData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_route_filter_by_uuid_serialize( + self, + route_filter_id, + route_filters_patch_request_item, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'RouteFiltersPatchRequestItem': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if route_filter_id is not None: + _path_params['routeFilterId'] = route_filter_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if route_filters_patch_request_item is not None: + _body_params = route_filters_patch_request_item + + + # set the HTTP header `Accept` + _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='PATCH', + resource_path='/fabric/v4/routeFilters/{routeFilterId}', + 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_route_filters( + self, + route_filters_search_base: RouteFiltersSearchBase, + _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, + ) -> RouteFiltersSearchResponse: + """Search Route Filters + + This API provides capability to search Route Filters + + :param route_filters_search_base: (required) + :type route_filters_search_base: RouteFiltersSearchBase + :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_route_filters_serialize( + route_filters_search_base=route_filters_search_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFiltersSearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 search_route_filters_with_http_info( + self, + route_filters_search_base: RouteFiltersSearchBase, + _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[RouteFiltersSearchResponse]: + """Search Route Filters + + This API provides capability to search Route Filters + + :param route_filters_search_base: (required) + :type route_filters_search_base: RouteFiltersSearchBase + :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_route_filters_serialize( + route_filters_search_base=route_filters_search_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFiltersSearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 search_route_filters_without_preload_content( + self, + route_filters_search_base: RouteFiltersSearchBase, + _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 Route Filters + + This API provides capability to search Route Filters + + :param route_filters_search_base: (required) + :type route_filters_search_base: RouteFiltersSearchBase + :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_route_filters_serialize( + route_filters_search_base=route_filters_search_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RouteFiltersSearchResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_route_filters_serialize( + self, + route_filters_search_base, + _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, str] = {} + _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 route_filters_search_base is not None: + _body_params = route_filters_search_base + + + # set the HTTP header `Accept` + _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/routeFilters/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/routing_protocols_api.py b/equinix/services/fabricv4/api/routing_protocols_api.py new file mode 100644 index 00000000..9a69a1d0 --- /dev/null +++ b/equinix/services/fabricv4/api/routing_protocols_api.py @@ -0,0 +1,4048 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.bgp_action_data import BGPActionData +from equinix.services.fabricv4.models.bgp_action_request import BGPActionRequest +from equinix.services.fabricv4.models.bgp_actions_bulk_data import BGPActionsBulkData +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +from equinix.services.fabricv4.models.connection_routing_protocol_post_request import ConnectionRoutingProtocolPostRequest +from equinix.services.fabricv4.models.get_response import GetResponse +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData +from equinix.services.fabricv4.models.routing_protocol_change_data_response import RoutingProtocolChangeDataResponse +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +from equinix.services.fabricv4.models.validate_request import ValidateRequest +from equinix.services.fabricv4.models.validate_subnet_response import ValidateSubnetResponse + +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 RoutingProtocolsApi: + """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_connection_routing_protocol( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_base: RoutingProtocolBase, + _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, + ) -> RoutingProtocolData: + """Create Protocol + + This API provides capability to create Routing Protocol for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_base: (required) + :type routing_protocol_base: RoutingProtocolBase + :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_connection_routing_protocol_serialize( + connection_id=connection_id, + routing_protocol_base=routing_protocol_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_base: RoutingProtocolBase, + _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[RoutingProtocolData]: + """Create Protocol + + This API provides capability to create Routing Protocol for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_base: (required) + :type routing_protocol_base: RoutingProtocolBase + :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_connection_routing_protocol_serialize( + connection_id=connection_id, + routing_protocol_base=routing_protocol_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_base: RoutingProtocolBase, + _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 Protocol + + This API provides capability to create Routing Protocol for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_base: (required) + :type routing_protocol_base: RoutingProtocolBase + :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_connection_routing_protocol_serialize( + connection_id=connection_id, + routing_protocol_base=routing_protocol_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_connection_routing_protocol_serialize( + self, + connection_id, + routing_protocol_base, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if routing_protocol_base is not None: + _body_params = routing_protocol_base + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols', + 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_connection_routing_protocols_in_bulk( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_routing_protocol_post_request: ConnectionRoutingProtocolPostRequest, + _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, + ) -> GetResponse: + """Bulk Create Protocol + + This API provides capability to create Routing Protocol for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_routing_protocol_post_request: (required) + :type connection_routing_protocol_post_request: ConnectionRoutingProtocolPostRequest + :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_connection_routing_protocols_in_bulk_serialize( + connection_id=connection_id, + connection_routing_protocol_post_request=connection_routing_protocol_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "GetResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocols_in_bulk_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_routing_protocol_post_request: ConnectionRoutingProtocolPostRequest, + _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[GetResponse]: + """Bulk Create Protocol + + This API provides capability to create Routing Protocol for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_routing_protocol_post_request: (required) + :type connection_routing_protocol_post_request: ConnectionRoutingProtocolPostRequest + :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_connection_routing_protocols_in_bulk_serialize( + connection_id=connection_id, + connection_routing_protocol_post_request=connection_routing_protocol_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "GetResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocols_in_bulk_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_routing_protocol_post_request: ConnectionRoutingProtocolPostRequest, + _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: + """Bulk Create Protocol + + This API provides capability to create Routing Protocol for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_routing_protocol_post_request: (required) + :type connection_routing_protocol_post_request: ConnectionRoutingProtocolPostRequest + :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_connection_routing_protocols_in_bulk_serialize( + connection_id=connection_id, + connection_routing_protocol_post_request=connection_routing_protocol_post_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "GetResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_connection_routing_protocols_in_bulk_serialize( + self, + connection_id, + connection_routing_protocol_post_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if connection_routing_protocol_post_request is not None: + _body_params = connection_routing_protocol_post_request + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols/bulk', + 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_connection_routing_protocol_by_uuid( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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, + ) -> RoutingProtocolData: + """Delete Protocol + + This API provides capability to delete Routing Protocols on virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_by_uuid_with_http_info( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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[RoutingProtocolData]: + """Delete Protocol + + This API provides capability to delete Routing Protocols on virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_by_uuid_without_preload_content( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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 Protocol + + This API provides capability to delete Routing Protocols on virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_connection_routing_protocol_by_uuid_serialize( + self, + routing_protocol_id, + connection_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}', + 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_connection_routing_protocol_all_bgp_actions( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> BGPActionsBulkData: + """Get BGP Actions + + This API provides capability to get all BGP actions status + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocol_all_bgp_actions_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + 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': "BGPActionsBulkData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_all_bgp_actions_with_http_info( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[BGPActionsBulkData]: + """Get BGP Actions + + This API provides capability to get all BGP actions status + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocol_all_bgp_actions_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + 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': "BGPActionsBulkData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_all_bgp_actions_without_preload_content( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 BGP Actions + + This API provides capability to get all BGP actions status + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocol_all_bgp_actions_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + 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': "BGPActionsBulkData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_routing_protocol_all_bgp_actions_serialize( + self, + routing_protocol_id, + connection_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + 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` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions', + 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_connection_routing_protocol_by_uuid( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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, + ) -> RoutingProtocolData: + """Get Protocol + + This API provides capability to accept/reject user's virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_by_uuid_with_http_info( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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[RoutingProtocolData]: + """Get Protocol + + This API provides capability to accept/reject user's virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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_connection_routing_protocol_by_uuid_without_preload_content( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + _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 Protocol + + This API provides capability to accept/reject user's virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_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_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_routing_protocol_by_uuid_serialize( + self, + routing_protocol_id, + connection_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}', + 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_connection_routing_protocols( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> GetResponse: + """GetRoutingProtocols + + This API provides capability to get Routing Protocols for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocols_serialize( + connection_id=connection_id, + 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': "GetResponse", + '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_connection_routing_protocols_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[GetResponse]: + """GetRoutingProtocols + + This API provides capability to get Routing Protocols for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocols_serialize( + connection_id=connection_id, + 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': "GetResponse", + '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_connection_routing_protocols_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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: + """GetRoutingProtocols + + This API provides capability to get Routing Protocols for connections + + :param connection_id: Connection Id (required) + :type connection_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocols_serialize( + connection_id=connection_id, + 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': "GetResponse", + '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_connection_routing_protocols_serialize( + self, + connection_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + 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` + _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/connections/{connectionId}/routingProtocols', + 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_connection_routing_protocols_bgp_action_by_uuid( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + action_id: Annotated[StrictStr, Field(description="BGP Action 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, + ) -> BGPActionData: + """Get BGP Action + + This API provides capability to retrieve specific BGP action + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param action_id: BGP Action UUID (required) + :type action_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_connection_routing_protocols_bgp_action_by_uuid_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + action_id=action_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BGPActionData", + '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_connection_routing_protocols_bgp_action_by_uuid_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + action_id: Annotated[StrictStr, Field(description="BGP Action 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[BGPActionData]: + """Get BGP Action + + This API provides capability to retrieve specific BGP action + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param action_id: BGP Action UUID (required) + :type action_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_connection_routing_protocols_bgp_action_by_uuid_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + action_id=action_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BGPActionData", + '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_connection_routing_protocols_bgp_action_by_uuid_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + action_id: Annotated[StrictStr, Field(description="BGP Action 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 BGP Action + + This API provides capability to retrieve specific BGP action + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param action_id: BGP Action UUID (required) + :type action_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_connection_routing_protocols_bgp_action_by_uuid_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + action_id=action_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "BGPActionData", + '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_connection_routing_protocols_bgp_action_by_uuid_serialize( + self, + connection_id, + routing_protocol_id, + action_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if action_id is not None: + _path_params['actionId'] = action_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions/{actionId}', + 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_connection_routing_protocols_change_by_uuid( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + change_id: Annotated[StrictStr, Field(description="Routing Protocol Change 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, + ) -> RoutingProtocolChangeData: + """Get Change By ID + + This API provides capability to retrieve specific Routing Protocol Change + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param change_id: Routing Protocol Change UUID (required) + :type change_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_connection_routing_protocols_change_by_uuid_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RoutingProtocolChangeData", + '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_connection_routing_protocols_change_by_uuid_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + change_id: Annotated[StrictStr, Field(description="Routing Protocol Change 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[RoutingProtocolChangeData]: + """Get Change By ID + + This API provides capability to retrieve specific Routing Protocol Change + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param change_id: Routing Protocol Change UUID (required) + :type change_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_connection_routing_protocols_change_by_uuid_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RoutingProtocolChangeData", + '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_connection_routing_protocols_change_by_uuid_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + change_id: Annotated[StrictStr, Field(description="Routing Protocol Change 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 Change By ID + + This API provides capability to retrieve specific Routing Protocol Change + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param change_id: Routing Protocol Change UUID (required) + :type change_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_connection_routing_protocols_change_by_uuid_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + change_id=change_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "RoutingProtocolChangeData", + '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_connection_routing_protocols_change_by_uuid_serialize( + self, + connection_id, + routing_protocol_id, + change_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if change_id is not None: + _path_params['changeId'] = change_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes/{changeId}', + 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_connection_routing_protocols_changes( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> RoutingProtocolChangeDataResponse: + """Get Changes + + This API provides capability to retrieve user's Routing Protocol Changes + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocols_changes_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + 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': "RoutingProtocolChangeDataResponse", + '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_connection_routing_protocols_changes_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[RoutingProtocolChangeDataResponse]: + """Get Changes + + This API provides capability to retrieve user's Routing Protocol Changes + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocols_changes_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + 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': "RoutingProtocolChangeDataResponse", + '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_connection_routing_protocols_changes_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 Changes + + This API provides capability to retrieve user's Routing Protocol Changes + + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_connection_routing_protocols_changes_serialize( + connection_id=connection_id, + routing_protocol_id=routing_protocol_id, + 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': "RoutingProtocolChangeDataResponse", + '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_connection_routing_protocols_changes_serialize( + self, + connection_id, + routing_protocol_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + # process the query parameters + 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` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes', + 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 patch_connection_routing_protocol_by_uuid( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_change_operation: Annotated[List[ConnectionChangeOperation], Field(min_length=1)], + _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, + ) -> RoutingProtocolData: + """Patch Protocol + + This API provides capability to partially update Routing Protocols on a virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_change_operation: (required) + :type connection_change_operation: List[ConnectionChangeOperation] + :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._patch_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + connection_change_operation=connection_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 patch_connection_routing_protocol_by_uuid_with_http_info( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_change_operation: Annotated[List[ConnectionChangeOperation], Field(min_length=1)], + _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[RoutingProtocolData]: + """Patch Protocol + + This API provides capability to partially update Routing Protocols on a virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_change_operation: (required) + :type connection_change_operation: List[ConnectionChangeOperation] + :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._patch_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + connection_change_operation=connection_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 patch_connection_routing_protocol_by_uuid_without_preload_content( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + connection_change_operation: Annotated[List[ConnectionChangeOperation], Field(min_length=1)], + _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: + """Patch Protocol + + This API provides capability to partially update Routing Protocols on a virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param connection_change_operation: (required) + :type connection_change_operation: List[ConnectionChangeOperation] + :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._patch_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + connection_change_operation=connection_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _patch_connection_routing_protocol_by_uuid_serialize( + self, + routing_protocol_id, + connection_id, + connection_change_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'ConnectionChangeOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if connection_change_operation is not None: + _body_params = connection_change_operation + + + # set the HTTP header `Accept` + _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='PATCH', + resource_path='/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}', + 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 post_connection_routing_protocol_bgp_action_by_uuid( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + bgp_action_request: BGPActionRequest, + _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, + ) -> BGPActionData: + """Clear/Reset BGP + + This API provides capability to clear/reset Routing Protocols BGP session + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param bgp_action_request: (required) + :type bgp_action_request: BGPActionRequest + :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._post_connection_routing_protocol_bgp_action_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + bgp_action_request=bgp_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "BGPActionData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 post_connection_routing_protocol_bgp_action_by_uuid_with_http_info( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + bgp_action_request: BGPActionRequest, + _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[BGPActionData]: + """Clear/Reset BGP + + This API provides capability to clear/reset Routing Protocols BGP session + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param bgp_action_request: (required) + :type bgp_action_request: BGPActionRequest + :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._post_connection_routing_protocol_bgp_action_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + bgp_action_request=bgp_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "BGPActionData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 post_connection_routing_protocol_bgp_action_by_uuid_without_preload_content( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + bgp_action_request: BGPActionRequest, + _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: + """Clear/Reset BGP + + This API provides capability to clear/reset Routing Protocols BGP session + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param bgp_action_request: (required) + :type bgp_action_request: BGPActionRequest + :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._post_connection_routing_protocol_bgp_action_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + bgp_action_request=bgp_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "BGPActionData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _post_connection_routing_protocol_bgp_action_by_uuid_serialize( + self, + routing_protocol_id, + connection_id, + bgp_action_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if bgp_action_request is not None: + _body_params = bgp_action_request + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions', + 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 replace_connection_routing_protocol_by_uuid( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_base: RoutingProtocolBase, + _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, + ) -> RoutingProtocolData: + """Replace Protocol + + This API provides capability to replace complete Routing Protocols on a virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_base: (required) + :type routing_protocol_base: RoutingProtocolBase + :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._replace_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + routing_protocol_base=routing_protocol_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 replace_connection_routing_protocol_by_uuid_with_http_info( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_base: RoutingProtocolBase, + _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[RoutingProtocolData]: + """Replace Protocol + + This API provides capability to replace complete Routing Protocols on a virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_base: (required) + :type routing_protocol_base: RoutingProtocolBase + :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._replace_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + routing_protocol_base=routing_protocol_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "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 replace_connection_routing_protocol_by_uuid_without_preload_content( + self, + routing_protocol_id: Annotated[StrictStr, Field(description="Routing Protocol Id")], + connection_id: Annotated[StrictStr, Field(description="Connection Id")], + routing_protocol_base: RoutingProtocolBase, + _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: + """Replace Protocol + + This API provides capability to replace complete Routing Protocols on a virtual connection + + :param routing_protocol_id: Routing Protocol Id (required) + :type routing_protocol_id: str + :param connection_id: Connection Id (required) + :type connection_id: str + :param routing_protocol_base: (required) + :type routing_protocol_base: RoutingProtocolBase + :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._replace_connection_routing_protocol_by_uuid_serialize( + routing_protocol_id=routing_protocol_id, + connection_id=connection_id, + routing_protocol_base=routing_protocol_base, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "RoutingProtocolData", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '415': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _replace_connection_routing_protocol_by_uuid_serialize( + self, + routing_protocol_id, + connection_id, + routing_protocol_base, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if routing_protocol_id is not None: + _path_params['routingProtocolId'] = routing_protocol_id + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if routing_protocol_base is not None: + _body_params = routing_protocol_base + + + # set the HTTP header `Accept` + _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='PUT', + resource_path='/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}', + 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 validate_routing_protocol( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router UUID")], + validate_request: ValidateRequest, + _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, + ) -> ValidateSubnetResponse: + """Validate Subnet + + This API provides capability to validate all subnets associated with any connection in the given FCR + + :param router_id: Cloud Router UUID (required) + :type router_id: str + :param validate_request: (required) + :type validate_request: ValidateRequest + :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._validate_routing_protocol_serialize( + router_id=router_id, + validate_request=validate_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ValidateSubnetResponse", + '400': "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 validate_routing_protocol_with_http_info( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router UUID")], + validate_request: ValidateRequest, + _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[ValidateSubnetResponse]: + """Validate Subnet + + This API provides capability to validate all subnets associated with any connection in the given FCR + + :param router_id: Cloud Router UUID (required) + :type router_id: str + :param validate_request: (required) + :type validate_request: ValidateRequest + :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._validate_routing_protocol_serialize( + router_id=router_id, + validate_request=validate_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ValidateSubnetResponse", + '400': "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 validate_routing_protocol_without_preload_content( + self, + router_id: Annotated[StrictStr, Field(description="Cloud Router UUID")], + validate_request: ValidateRequest, + _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: + """Validate Subnet + + This API provides capability to validate all subnets associated with any connection in the given FCR + + :param router_id: Cloud Router UUID (required) + :type router_id: str + :param validate_request: (required) + :type validate_request: ValidateRequest + :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._validate_routing_protocol_serialize( + router_id=router_id, + validate_request=validate_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ValidateSubnetResponse", + '400': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _validate_routing_protocol_serialize( + self, + router_id, + validate_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if router_id is not None: + _path_params['routerId'] = router_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if validate_request is not None: + _body_params = validate_request + + + # set the HTTP header `Accept` + _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/routers/{routerId}/validate', + 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/service_profiles_api.py b/equinix/services/fabricv4/api/service_profiles_api.py new file mode 100644 index 00000000..79a2b7fd --- /dev/null +++ b/equinix/services/fabricv4/api/service_profiles_api.py @@ -0,0 +1,2440 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter +from equinix.services.fabricv4.models.json_patch_operation import JsonPatchOperation +from equinix.services.fabricv4.models.service_metros import ServiceMetros +from equinix.services.fabricv4.models.service_profile import ServiceProfile +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest +from equinix.services.fabricv4.models.service_profile_search_request import ServiceProfileSearchRequest +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles + +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 ServiceProfilesApi: + """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_service_profile( + self, + service_profile_request: ServiceProfileRequest, + _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, + ) -> ServiceProfile: + """Create Profile + + Create Service Profile creates Equinix Fabric? Service Profile. + + :param service_profile_request: (required) + :type service_profile_request: ServiceProfileRequest + :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_service_profile_serialize( + service_profile_request=service_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ServiceProfile", + '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_service_profile_with_http_info( + self, + service_profile_request: ServiceProfileRequest, + _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[ServiceProfile]: + """Create Profile + + Create Service Profile creates Equinix Fabric? Service Profile. + + :param service_profile_request: (required) + :type service_profile_request: ServiceProfileRequest + :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_service_profile_serialize( + service_profile_request=service_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ServiceProfile", + '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_service_profile_without_preload_content( + self, + service_profile_request: ServiceProfileRequest, + _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 Profile + + Create Service Profile creates Equinix Fabric? Service Profile. + + :param service_profile_request: (required) + :type service_profile_request: ServiceProfileRequest + :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_service_profile_serialize( + service_profile_request=service_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ServiceProfile", + '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_service_profile_serialize( + self, + service_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, str] = {} + _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 service_profile_request is not None: + _body_params = service_profile_request + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json; charset=UTF-8', + '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/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 delete_service_profile_by_uuid( + self, + 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, + ) -> ServiceProfile: + """Delete Profile + + delete Service Profile by UUID + + :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._delete_service_profile_by_uuid_serialize( + 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': "ServiceProfile", + '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 delete_service_profile_by_uuid_with_http_info( + self, + 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[ServiceProfile]: + """Delete Profile + + delete Service Profile by UUID + + :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._delete_service_profile_by_uuid_serialize( + 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': "ServiceProfile", + '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 delete_service_profile_by_uuid_without_preload_content( + self, + 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: + """Delete Profile + + delete Service Profile by UUID + + :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._delete_service_profile_by_uuid_serialize( + 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': "ServiceProfile", + '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 _delete_service_profile_by_uuid_serialize( + self, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + 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` + _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/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 get_service_profile_by_uuid( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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, + ) -> ServiceProfile: + """Get Profile + + Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view. + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + 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': "ServiceProfile", + '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 get_service_profile_by_uuid_with_http_info( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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[ServiceProfile]: + """Get Profile + + Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view. + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + 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': "ServiceProfile", + '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 get_service_profile_by_uuid_without_preload_content( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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 Profile + + Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view. + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + 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': "ServiceProfile", + '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 _get_service_profile_by_uuid_serialize( + self, + service_profile_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_profile_id is not None: + _path_params['serviceProfileId'] = service_profile_id + # process the query parameters + if view_point is not None: + + _query_params.append(('viewPoint', view_point.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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='GET', + resource_path='/fabric/v4/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 get_service_profile_metros_by_uuid( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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, + ) -> ServiceMetros: + """Get Profile Metros + + Get service profile metros by UUID. + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_service_profile_metros_by_uuid_serialize( + service_profile_id=service_profile_id, + 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': "ServiceMetros", + '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 get_service_profile_metros_by_uuid_with_http_info( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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[ServiceMetros]: + """Get Profile Metros + + Get service profile metros by UUID. + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_service_profile_metros_by_uuid_serialize( + service_profile_id=service_profile_id, + 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': "ServiceMetros", + '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 get_service_profile_metros_by_uuid_without_preload_content( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = 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 Profile Metros + + Get service profile metros by UUID. + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :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_service_profile_metros_by_uuid_serialize( + service_profile_id=service_profile_id, + 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': "ServiceMetros", + '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 _get_service_profile_metros_by_uuid_serialize( + self, + service_profile_id, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_profile_id is not None: + _path_params['serviceProfileId'] = service_profile_id + # process the query parameters + 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` + _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='GET', + resource_path='/fabric/v4/serviceProfiles/{serviceProfileId}/metros', + 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_service_profiles( + self, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = None, + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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, + ) -> ServiceProfiles: + """Get all Profiles + + The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. + + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :type limit: int + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profiles_serialize( + offset=offset, + limit=limit, + 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': "ServiceProfiles", + '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 get_service_profiles_with_http_info( + self, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = None, + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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[ServiceProfiles]: + """Get all Profiles + + The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. + + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :type limit: int + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profiles_serialize( + offset=offset, + limit=limit, + 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': "ServiceProfiles", + '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 get_service_profiles_without_preload_content( + self, + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="number of records to fetch")] = None, + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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 all Profiles + + The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. + + :param offset: offset + :type offset: int + :param limit: number of records to fetch + :type limit: int + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profiles_serialize( + offset=offset, + limit=limit, + 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': "ServiceProfiles", + '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 _get_service_profiles_serialize( + self, + offset, + limit, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if offset is not None: + + _query_params.append(('offset', offset)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if view_point is not None: + + _query_params.append(('viewPoint', view_point.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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='GET', + resource_path='/fabric/v4/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 put_service_profile_by_uuid( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + if_match: Annotated[StrictStr, Field(description="conditional request")], + service_profile_request: ServiceProfileRequest, + _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, + ) -> ServiceProfile: + """Replace Profile + + This API request replaces a service profile definition + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param if_match: conditional request (required) + :type if_match: str + :param service_profile_request: (required) + :type service_profile_request: ServiceProfileRequest + :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._put_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + if_match=if_match, + service_profile_request=service_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ServiceProfile", + '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 put_service_profile_by_uuid_with_http_info( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + if_match: Annotated[StrictStr, Field(description="conditional request")], + service_profile_request: ServiceProfileRequest, + _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[ServiceProfile]: + """Replace Profile + + This API request replaces a service profile definition + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param if_match: conditional request (required) + :type if_match: str + :param service_profile_request: (required) + :type service_profile_request: ServiceProfileRequest + :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._put_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + if_match=if_match, + service_profile_request=service_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ServiceProfile", + '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 put_service_profile_by_uuid_without_preload_content( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + if_match: Annotated[StrictStr, Field(description="conditional request")], + service_profile_request: ServiceProfileRequest, + _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: + """Replace Profile + + This API request replaces a service profile definition + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param if_match: conditional request (required) + :type if_match: str + :param service_profile_request: (required) + :type service_profile_request: ServiceProfileRequest + :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._put_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + if_match=if_match, + service_profile_request=service_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ServiceProfile", + '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 _put_service_profile_by_uuid_serialize( + self, + service_profile_id, + if_match, + service_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_profile_id is not None: + _path_params['serviceProfileId'] = service_profile_id + # process the query parameters + # process the header parameters + if if_match is not None: + _header_params['If-Match'] = if_match + # process the form parameters + # process the body parameter + if service_profile_request is not None: + _body_params = service_profile_request + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json; charset=UTF-8', + '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='PUT', + resource_path='/fabric/v4/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 search_service_profiles( + self, + service_profile_search_request: ServiceProfileSearchRequest, + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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, + ) -> ServiceProfiles: + """Profile Search + + Search service profiles by search criteria + + :param service_profile_search_request: (required) + :type service_profile_search_request: ServiceProfileSearchRequest + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profiles_serialize( + service_profile_search_request=service_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': "ServiceProfiles", + '400': "List[Error]", + '401': "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 search_service_profiles_with_http_info( + self, + service_profile_search_request: ServiceProfileSearchRequest, + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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[ServiceProfiles]: + """Profile Search + + Search service profiles by search criteria + + :param service_profile_search_request: (required) + :type service_profile_search_request: ServiceProfileSearchRequest + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profiles_serialize( + service_profile_search_request=service_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': "ServiceProfiles", + '400': "List[Error]", + '401': "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 search_service_profiles_without_preload_content( + self, + service_profile_search_request: ServiceProfileSearchRequest, + view_point: Annotated[Optional[GetServiceProfilesViewPointParameter], Field(description="flips view between buyer and seller representation")] = 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: + """Profile Search + + Search service profiles by search criteria + + :param service_profile_search_request: (required) + :type service_profile_search_request: ServiceProfileSearchRequest + :param view_point: flips view between buyer and seller representation + :type view_point: GetServiceProfilesViewPointParameter + :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_service_profiles_serialize( + service_profile_search_request=service_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': "ServiceProfiles", + '400': "List[Error]", + '401': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_service_profiles_serialize( + self, + service_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, str] = {} + _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.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + if service_profile_search_request is not None: + _body_params = service_profile_search_request + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json; charset=UTF-8', + '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/serviceProfiles/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 + ) + + + + + @validate_call + def update_service_profile_by_uuid( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + if_match: Annotated[StrictStr, Field(description="conditional request")], + json_patch_operation: List[JsonPatchOperation], + _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, + ) -> ServiceProfile: + """Update Profile + + Update Service Profile by UUID + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param if_match: conditional request (required) + :type if_match: str + :param json_patch_operation: (required) + :type json_patch_operation: List[JsonPatchOperation] + :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._update_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + if_match=if_match, + json_patch_operation=json_patch_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceProfile", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '412': "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 update_service_profile_by_uuid_with_http_info( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + if_match: Annotated[StrictStr, Field(description="conditional request")], + json_patch_operation: List[JsonPatchOperation], + _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[ServiceProfile]: + """Update Profile + + Update Service Profile by UUID + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param if_match: conditional request (required) + :type if_match: str + :param json_patch_operation: (required) + :type json_patch_operation: List[JsonPatchOperation] + :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._update_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + if_match=if_match, + json_patch_operation=json_patch_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceProfile", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '412': "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 update_service_profile_by_uuid_without_preload_content( + self, + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + if_match: Annotated[StrictStr, Field(description="conditional request")], + json_patch_operation: List[JsonPatchOperation], + _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: + """Update Profile + + Update Service Profile by UUID + + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param if_match: conditional request (required) + :type if_match: str + :param json_patch_operation: (required) + :type json_patch_operation: List[JsonPatchOperation] + :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._update_service_profile_by_uuid_serialize( + service_profile_id=service_profile_id, + if_match=if_match, + json_patch_operation=json_patch_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceProfile", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '412': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_service_profile_by_uuid_serialize( + self, + service_profile_id, + if_match, + json_patch_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'JsonPatchOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_profile_id is not None: + _path_params['serviceProfileId'] = service_profile_id + # process the query parameters + # process the header parameters + if if_match is not None: + _header_params['If-Match'] = if_match + # process the form parameters + # process the body parameter + if json_patch_operation is not None: + _body_params = json_patch_operation + + + # set the HTTP header `Accept` + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json; charset=UTF-8', + '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-patch+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='PATCH', + resource_path='/fabric/v4/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 + ) + + diff --git a/equinix/services/fabricv4/api/service_tokens_api.py b/equinix/services/fabricv4/api/service_tokens_api.py new file mode 100644 index 00000000..8d715920 --- /dev/null +++ b/equinix/services/fabricv4/api/service_tokens_api.py @@ -0,0 +1,2009 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt, StrictStr +from typing import List, Optional, Union +from typing_extensions import Annotated +from equinix.services.fabricv4.models.service_token import ServiceToken +from equinix.services.fabricv4.models.service_token_action_request import ServiceTokenActionRequest +from equinix.services.fabricv4.models.service_token_change_operation import ServiceTokenChangeOperation +from equinix.services.fabricv4.models.service_token_search_request import ServiceTokenSearchRequest +from equinix.services.fabricv4.models.service_tokens import ServiceTokens + +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 ServiceTokensApi: + """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_service_token( + self, + service_token: ServiceToken, + _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, + ) -> ServiceToken: + """Create Service Token + + 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 + :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_service_token_serialize( + service_token=service_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ServiceToken", + '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_service_token_with_http_info( + self, + service_token: ServiceToken, + _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[ServiceToken]: + """Create Service Token + + 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 + :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_service_token_serialize( + service_token=service_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ServiceToken", + '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_service_token_without_preload_content( + self, + service_token: ServiceToken, + _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 Service Token + + 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 + :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_service_token_serialize( + service_token=service_token, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "ServiceToken", + '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_service_token_serialize( + self, + service_token, + _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, str] = {} + _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 service_token is not None: + _body_params = service_token + + + # set the HTTP header `Accept` + _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/serviceTokens', + 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_service_token_action( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token UUID")], + service_token_action_request: ServiceTokenActionRequest, + _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, + ) -> ServiceToken: + """ServiceToken Actions + + This API provides capability to accept/reject user's servicetokens + + :param service_token_id: Service Token UUID (required) + :type service_token_id: str + :param service_token_action_request: (required) + :type service_token_action_request: ServiceTokenActionRequest + :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_service_token_action_serialize( + service_token_id=service_token_id, + service_token_action_request=service_token_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ServiceToken", + '400': "List[Error]", + '401': "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 create_service_token_action_with_http_info( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token UUID")], + service_token_action_request: ServiceTokenActionRequest, + _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[ServiceToken]: + """ServiceToken Actions + + This API provides capability to accept/reject user's servicetokens + + :param service_token_id: Service Token UUID (required) + :type service_token_id: str + :param service_token_action_request: (required) + :type service_token_action_request: ServiceTokenActionRequest + :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_service_token_action_serialize( + service_token_id=service_token_id, + service_token_action_request=service_token_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ServiceToken", + '400': "List[Error]", + '401': "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 create_service_token_action_without_preload_content( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token UUID")], + service_token_action_request: ServiceTokenActionRequest, + _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: + """ServiceToken Actions + + This API provides capability to accept/reject user's servicetokens + + :param service_token_id: Service Token UUID (required) + :type service_token_id: str + :param service_token_action_request: (required) + :type service_token_action_request: ServiceTokenActionRequest + :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_service_token_action_serialize( + service_token_id=service_token_id, + service_token_action_request=service_token_action_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "ServiceToken", + '400': "List[Error]", + '401': "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 _create_service_token_action_serialize( + self, + service_token_id, + service_token_action_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_token_id is not None: + _path_params['serviceTokenId'] = service_token_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if service_token_action_request is not None: + _body_params = service_token_action_request + + + # set the HTTP header `Accept` + _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/serviceTokens/{serviceTokenId}/actions', + 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_service_token_by_uuid( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token 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, + ) -> None: + """Delete Token by uuid + + Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state. + + :param service_token_id: Service Token UUID (required) + :type service_token_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_service_token_by_uuid_serialize( + service_token_id=service_token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "List[Error]", + '401': "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_service_token_by_uuid_with_http_info( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token 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[None]: + """Delete Token by uuid + + Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state. + + :param service_token_id: Service Token UUID (required) + :type service_token_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_service_token_by_uuid_serialize( + service_token_id=service_token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "List[Error]", + '401': "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_service_token_by_uuid_without_preload_content( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token 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 Token by uuid + + Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state. + + :param service_token_id: Service Token UUID (required) + :type service_token_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_service_token_by_uuid_serialize( + service_token_id=service_token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + '400': "List[Error]", + '401': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_service_token_by_uuid_serialize( + self, + service_token_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_token_id is not None: + _path_params['serviceTokenId'] = service_token_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/serviceTokens/{serviceTokenId}', + 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_service_token_by_uuid( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token 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, + ) -> ServiceToken: + """Get Token by uuid + + Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties. + + :param service_token_id: Service Token UUID (required) + :type service_token_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_service_token_by_uuid_serialize( + service_token_id=service_token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceToken", + '400': "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 get_service_token_by_uuid_with_http_info( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token 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[ServiceToken]: + """Get Token by uuid + + Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties. + + :param service_token_id: Service Token UUID (required) + :type service_token_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_service_token_by_uuid_serialize( + service_token_id=service_token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceToken", + '400': "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 get_service_token_by_uuid_without_preload_content( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token 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 Token by uuid + + Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties. + + :param service_token_id: Service Token UUID (required) + :type service_token_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_service_token_by_uuid_serialize( + service_token_id=service_token_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceToken", + '400': "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 _get_service_token_by_uuid_serialize( + self, + service_token_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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_token_id is not None: + _path_params['serviceTokenId'] = service_token_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/serviceTokens/{serviceTokenId}', + 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_service_tokens( + self, + offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="offset")] = None, + limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="number of records to fetch")] = 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, + ) -> ServiceTokens: + """Get All Tokens + + Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account. + + :param offset: offset + :type offset: float + :param limit: number of records to fetch + :type limit: float + :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_service_tokens_serialize( + 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': "ServiceTokens", + '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 get_service_tokens_with_http_info( + self, + offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="offset")] = None, + limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="number of records to fetch")] = 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[ServiceTokens]: + """Get All Tokens + + Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account. + + :param offset: offset + :type offset: float + :param limit: number of records to fetch + :type limit: float + :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_service_tokens_serialize( + 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': "ServiceTokens", + '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 get_service_tokens_without_preload_content( + self, + offset: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="offset")] = None, + limit: Annotated[Optional[Union[StrictFloat, StrictInt]], Field(description="number of records to fetch")] = 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 All Tokens + + Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account. + + :param offset: offset + :type offset: float + :param limit: number of records to fetch + :type limit: float + :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_service_tokens_serialize( + 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': "ServiceTokens", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_service_tokens_serialize( + self, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + 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` + _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/serviceTokens', + 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_service_tokens( + self, + service_token_search_request: ServiceTokenSearchRequest, + _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, + ) -> ServiceTokens: + """Search servicetokens + + The API provides capability to get list of user's servicetokens using search criteria, including optional filtering, pagination and sorting + + :param service_token_search_request: (required) + :type service_token_search_request: ServiceTokenSearchRequest + :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_service_tokens_serialize( + service_token_search_request=service_token_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceTokens", + '400': "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 search_service_tokens_with_http_info( + self, + service_token_search_request: ServiceTokenSearchRequest, + _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[ServiceTokens]: + """Search servicetokens + + The API provides capability to get list of user's servicetokens using search criteria, including optional filtering, pagination and sorting + + :param service_token_search_request: (required) + :type service_token_search_request: ServiceTokenSearchRequest + :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_service_tokens_serialize( + service_token_search_request=service_token_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceTokens", + '400': "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 search_service_tokens_without_preload_content( + self, + service_token_search_request: ServiceTokenSearchRequest, + _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 servicetokens + + The API provides capability to get list of user's servicetokens using search criteria, including optional filtering, pagination and sorting + + :param service_token_search_request: (required) + :type service_token_search_request: ServiceTokenSearchRequest + :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_service_tokens_serialize( + service_token_search_request=service_token_search_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceTokens", + '400': "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 _search_service_tokens_serialize( + self, + service_token_search_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, str] = {} + _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 service_token_search_request is not None: + _body_params = service_token_search_request + + + # set the HTTP header `Accept` + _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/serviceTokens/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 + ) + + + + + @validate_call + def update_service_token_by_uuid( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token UUID")], + service_token_change_operation: Annotated[List[ServiceTokenChangeOperation], Field(min_length=1)], + _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, + ) -> ServiceToken: + """Update Token By ID + + This API provides capability to update user's Service Token + + :param service_token_id: Service Token UUID (required) + :type service_token_id: str + :param service_token_change_operation: (required) + :type service_token_change_operation: List[ServiceTokenChangeOperation] + :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._update_service_token_by_uuid_serialize( + service_token_id=service_token_id, + service_token_change_operation=service_token_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceToken", + '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 update_service_token_by_uuid_with_http_info( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token UUID")], + service_token_change_operation: Annotated[List[ServiceTokenChangeOperation], Field(min_length=1)], + _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[ServiceToken]: + """Update Token By ID + + This API provides capability to update user's Service Token + + :param service_token_id: Service Token UUID (required) + :type service_token_id: str + :param service_token_change_operation: (required) + :type service_token_change_operation: List[ServiceTokenChangeOperation] + :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._update_service_token_by_uuid_serialize( + service_token_id=service_token_id, + service_token_change_operation=service_token_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceToken", + '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 update_service_token_by_uuid_without_preload_content( + self, + service_token_id: Annotated[StrictStr, Field(description="Service Token UUID")], + service_token_change_operation: Annotated[List[ServiceTokenChangeOperation], Field(min_length=1)], + _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: + """Update Token By ID + + This API provides capability to update user's Service Token + + :param service_token_id: Service Token UUID (required) + :type service_token_id: str + :param service_token_change_operation: (required) + :type service_token_change_operation: List[ServiceTokenChangeOperation] + :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._update_service_token_by_uuid_serialize( + service_token_id=service_token_id, + service_token_change_operation=service_token_change_operation, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceToken", + '400': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_service_token_by_uuid_serialize( + self, + service_token_id, + service_token_change_operation, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'ServiceTokenChangeOperation': '', + } + + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if service_token_id is not None: + _path_params['serviceTokenId'] = service_token_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if service_token_change_operation is not None: + _body_params = service_token_change_operation + + + # set the HTTP header `Accept` + _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-patch+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='PATCH', + resource_path='/fabric/v4/serviceTokens/{serviceTokenId}', + 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/statistics_api.py b/equinix/services/fabricv4/api/statistics_api.py new file mode 100644 index 00000000..8d02fe2c --- /dev/null +++ b/equinix/services/fabricv4/api/statistics_api.py @@ -0,0 +1,1068 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 datetime import datetime +from pydantic import Field, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.duration import Duration +from equinix.services.fabricv4.models.metric_interval import MetricInterval +from equinix.services.fabricv4.models.query_direction import QueryDirection +from equinix.services.fabricv4.models.sort import Sort +from equinix.services.fabricv4.models.statistics import Statistics +from equinix.services.fabricv4.models.top_utilized_statistics import TopUtilizedStatistics +from equinix.services.fabricv4.models.view_point import ViewPoint + +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 StatisticsApi: + """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 get_connection_stats_by_port_uuid( + self, + connection_id: Annotated[StrictStr, Field(description="Connection UUID")], + start_date_time: Annotated[datetime, Field(description="startDateTime")], + end_date_time: Annotated[datetime, Field(description="endDateTime")], + view_point: Annotated[ViewPoint, Field(description="viewPoint")], + _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, + ) -> Statistics: + """Get Stats by uuid + + This API provides service-level metrics so that you can view access and gather key information required to manage service subscription sizing and capacity + + :param connection_id: Connection UUID (required) + :type connection_id: str + :param start_date_time: startDateTime (required) + :type start_date_time: datetime + :param end_date_time: endDateTime (required) + :type end_date_time: datetime + :param view_point: viewPoint (required) + :type view_point: ViewPoint + :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_connection_stats_by_port_uuid_serialize( + connection_id=connection_id, + start_date_time=start_date_time, + end_date_time=end_date_time, + 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': "Statistics", + '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 get_connection_stats_by_port_uuid_with_http_info( + self, + connection_id: Annotated[StrictStr, Field(description="Connection UUID")], + start_date_time: Annotated[datetime, Field(description="startDateTime")], + end_date_time: Annotated[datetime, Field(description="endDateTime")], + view_point: Annotated[ViewPoint, Field(description="viewPoint")], + _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[Statistics]: + """Get Stats by uuid + + This API provides service-level metrics so that you can view access and gather key information required to manage service subscription sizing and capacity + + :param connection_id: Connection UUID (required) + :type connection_id: str + :param start_date_time: startDateTime (required) + :type start_date_time: datetime + :param end_date_time: endDateTime (required) + :type end_date_time: datetime + :param view_point: viewPoint (required) + :type view_point: ViewPoint + :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_connection_stats_by_port_uuid_serialize( + connection_id=connection_id, + start_date_time=start_date_time, + end_date_time=end_date_time, + 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': "Statistics", + '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 get_connection_stats_by_port_uuid_without_preload_content( + self, + connection_id: Annotated[StrictStr, Field(description="Connection UUID")], + start_date_time: Annotated[datetime, Field(description="startDateTime")], + end_date_time: Annotated[datetime, Field(description="endDateTime")], + view_point: Annotated[ViewPoint, Field(description="viewPoint")], + _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 Stats by uuid + + This API provides service-level metrics so that you can view access and gather key information required to manage service subscription sizing and capacity + + :param connection_id: Connection UUID (required) + :type connection_id: str + :param start_date_time: startDateTime (required) + :type start_date_time: datetime + :param end_date_time: endDateTime (required) + :type end_date_time: datetime + :param view_point: viewPoint (required) + :type view_point: ViewPoint + :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_connection_stats_by_port_uuid_serialize( + connection_id=connection_id, + start_date_time=start_date_time, + end_date_time=end_date_time, + 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': "Statistics", + '401': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_connection_stats_by_port_uuid_serialize( + self, + connection_id, + start_date_time, + end_date_time, + 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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if connection_id is not None: + _path_params['connectionId'] = connection_id + # process the query parameters + if start_date_time is not None: + if isinstance(start_date_time, datetime): + _query_params.append( + ( + 'startDateTime', + start_date_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('startDateTime', start_date_time)) + + if end_date_time is not None: + if isinstance(end_date_time, datetime): + _query_params.append( + ( + 'endDateTime', + end_date_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('endDateTime', end_date_time)) + + if view_point is not None: + + _query_params.append(('viewPoint', view_point.value)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/connections/{connectionId}/stats', + 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_port_stats( + self, + metros: Annotated[List[StrictStr], Field(description="Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located.")], + sort: Annotated[Optional[Sort], Field(description="Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order.")] = None, + top: Annotated[Optional[StrictInt], Field(description="Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5.")] = None, + duration: Annotated[Optional[Duration], Field(description="duration")] = None, + direction: Annotated[Optional[QueryDirection], Field(description="Direction of traffic from the requester's viewpoint. The default is outbound.")] = None, + metric_interval: Annotated[Optional[MetricInterval], Field(description="metricInterval")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="projectId")] = 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, + ) -> TopUtilizedStatistics: + """Top Port Statistics + + This API provides top utilized service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + + :param metros: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. (required) + :type metros: List[str] + :param sort: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. + :type sort: Sort + :param top: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + :type top: int + :param duration: duration + :type duration: Duration + :param direction: Direction of traffic from the requester's viewpoint. The default is outbound. + :type direction: QueryDirection + :param metric_interval: metricInterval + :type metric_interval: MetricInterval + :param project_id: projectId + :type project_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_port_stats_serialize( + metros=metros, + sort=sort, + top=top, + duration=duration, + direction=direction, + metric_interval=metric_interval, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TopUtilizedStatistics", + '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 get_port_stats_with_http_info( + self, + metros: Annotated[List[StrictStr], Field(description="Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located.")], + sort: Annotated[Optional[Sort], Field(description="Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order.")] = None, + top: Annotated[Optional[StrictInt], Field(description="Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5.")] = None, + duration: Annotated[Optional[Duration], Field(description="duration")] = None, + direction: Annotated[Optional[QueryDirection], Field(description="Direction of traffic from the requester's viewpoint. The default is outbound.")] = None, + metric_interval: Annotated[Optional[MetricInterval], Field(description="metricInterval")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="projectId")] = 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[TopUtilizedStatistics]: + """Top Port Statistics + + This API provides top utilized service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + + :param metros: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. (required) + :type metros: List[str] + :param sort: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. + :type sort: Sort + :param top: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + :type top: int + :param duration: duration + :type duration: Duration + :param direction: Direction of traffic from the requester's viewpoint. The default is outbound. + :type direction: QueryDirection + :param metric_interval: metricInterval + :type metric_interval: MetricInterval + :param project_id: projectId + :type project_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_port_stats_serialize( + metros=metros, + sort=sort, + top=top, + duration=duration, + direction=direction, + metric_interval=metric_interval, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TopUtilizedStatistics", + '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 get_port_stats_without_preload_content( + self, + metros: Annotated[List[StrictStr], Field(description="Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located.")], + sort: Annotated[Optional[Sort], Field(description="Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order.")] = None, + top: Annotated[Optional[StrictInt], Field(description="Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5.")] = None, + duration: Annotated[Optional[Duration], Field(description="duration")] = None, + direction: Annotated[Optional[QueryDirection], Field(description="Direction of traffic from the requester's viewpoint. The default is outbound.")] = None, + metric_interval: Annotated[Optional[MetricInterval], Field(description="metricInterval")] = None, + project_id: Annotated[Optional[StrictStr], Field(description="projectId")] = 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: + """Top Port Statistics + + This API provides top utilized service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + + :param metros: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. (required) + :type metros: List[str] + :param sort: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. + :type sort: Sort + :param top: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + :type top: int + :param duration: duration + :type duration: Duration + :param direction: Direction of traffic from the requester's viewpoint. The default is outbound. + :type direction: QueryDirection + :param metric_interval: metricInterval + :type metric_interval: MetricInterval + :param project_id: projectId + :type project_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_port_stats_serialize( + metros=metros, + sort=sort, + top=top, + duration=duration, + direction=direction, + metric_interval=metric_interval, + project_id=project_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TopUtilizedStatistics", + '401': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_port_stats_serialize( + self, + metros, + sort, + top, + duration, + direction, + metric_interval, + project_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'metros': '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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if sort is not None: + + _query_params.append(('sort', sort.value)) + + if top is not None: + + _query_params.append(('top', top)) + + if duration is not None: + + _query_params.append(('duration', duration.value)) + + if direction is not None: + + _query_params.append(('direction', direction.value)) + + if metric_interval is not None: + + _query_params.append(('metricInterval', metric_interval.value)) + + if metros is not None: + + _query_params.append(('metros', metros)) + + if project_id is not None: + + _query_params.append(('projectId', project_id)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/ports/stats', + 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_port_stats_by_port_uuid( + self, + port_id: Annotated[StrictStr, Field(description="Port UUID")], + start_date_time: Annotated[datetime, Field(description="startDateTime")], + end_date_time: Annotated[datetime, Field(description="endDateTime")], + _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, + ) -> Statistics: + """Get Stats by uuid + + This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + + :param port_id: Port UUID (required) + :type port_id: str + :param start_date_time: startDateTime (required) + :type start_date_time: datetime + :param end_date_time: endDateTime (required) + :type end_date_time: datetime + :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_port_stats_by_port_uuid_serialize( + port_id=port_id, + start_date_time=start_date_time, + end_date_time=end_date_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Statistics", + '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 get_port_stats_by_port_uuid_with_http_info( + self, + port_id: Annotated[StrictStr, Field(description="Port UUID")], + start_date_time: Annotated[datetime, Field(description="startDateTime")], + end_date_time: Annotated[datetime, Field(description="endDateTime")], + _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[Statistics]: + """Get Stats by uuid + + This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + + :param port_id: Port UUID (required) + :type port_id: str + :param start_date_time: startDateTime (required) + :type start_date_time: datetime + :param end_date_time: endDateTime (required) + :type end_date_time: datetime + :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_port_stats_by_port_uuid_serialize( + port_id=port_id, + start_date_time=start_date_time, + end_date_time=end_date_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Statistics", + '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 get_port_stats_by_port_uuid_without_preload_content( + self, + port_id: Annotated[StrictStr, Field(description="Port UUID")], + start_date_time: Annotated[datetime, Field(description="startDateTime")], + end_date_time: Annotated[datetime, Field(description="endDateTime")], + _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 Stats by uuid + + This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + + :param port_id: Port UUID (required) + :type port_id: str + :param start_date_time: startDateTime (required) + :type start_date_time: datetime + :param end_date_time: endDateTime (required) + :type end_date_time: datetime + :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_port_stats_by_port_uuid_serialize( + port_id=port_id, + start_date_time=start_date_time, + end_date_time=end_date_time, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "Statistics", + '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 _get_port_stats_by_port_uuid_serialize( + self, + port_id, + start_date_time, + end_date_time, + _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, str] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if port_id is not None: + _path_params['portId'] = port_id + # process the query parameters + if start_date_time is not None: + if isinstance(start_date_time, datetime): + _query_params.append( + ( + 'startDateTime', + start_date_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('startDateTime', start_date_time)) + + if end_date_time is not None: + if isinstance(end_date_time, datetime): + _query_params.append( + ( + 'endDateTime', + end_date_time.strftime( + self.api_client.configuration.datetime_format + ) + ) + ) + else: + _query_params.append(('endDateTime', end_date_time)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + _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/ports/{portId}/stats', + 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_client.py b/equinix/services/fabricv4/api_client.py new file mode 100644 index 00000000..8e65ed1e --- /dev/null +++ b/equinix/services/fabricv4/api_client.py @@ -0,0 +1,759 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import datetime +from dateutil.parser import parse +from enum import Enum +import json +import mimetypes +import os +import re +import tempfile + +from urllib.parse import quote +from typing import Tuple, Optional, List, Dict + +from equinix.services.fabricv4.configuration import Configuration +from equinix.services.fabricv4.api_response import ApiResponse, T as ApiResponseT +import equinix.services.fabricv4.models +from equinix.services.fabricv4 import rest +from equinix.services.fabricv4.exceptions import ( + ApiValueError, + ApiException, + BadRequestException, + UnauthorizedException, + ForbiddenException, + NotFoundException, + ServiceException +) + +RequestSerialized = Tuple[str, str, Dict[str, str], Optional[str], List[str]] + +class ApiClient: + """Generic API client for OpenAPI client library builds. + + OpenAPI generic API client. This client handles the client- + server communication, and is invariant across implementations. Specifics of + the methods and models for each application are generated from the OpenAPI + templates. + + :param configuration: .Configuration object for this client + :param header_name: a header to pass when making calls to the API. + :param header_value: a header value to pass when making calls to + the API. + :param cookie: a cookie to include in the header when making calls + to the API + """ + + PRIMITIVE_TYPES = (float, bool, bytes, str, int) + NATIVE_TYPES_MAPPING = { + 'int': int, + 'long': int, # TODO remove as only py3 is supported? + 'float': float, + 'str': str, + 'bool': bool, + 'date': datetime.date, + 'datetime': datetime.datetime, + 'object': object, + } + _pool = None + + def __init__( + self, + configuration=None, + header_name=None, + header_value=None, + cookie=None + ) -> None: + # use default configuration if none is provided + if configuration is None: + configuration = Configuration.get_default() + self.configuration = configuration + + self.rest_client = rest.RESTClientObject(configuration) + self.default_headers = {} + if header_name is not None: + self.default_headers[header_name] = header_value + self.cookie = cookie + # Set default User-Agent. + self.user_agent = 'equinix-sdk-python/0.1.1' + self.client_side_validation = configuration.client_side_validation + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, traceback): + pass + + @property + def user_agent(self): + """User agent for this API client""" + return self.default_headers['User-Agent'] + + @user_agent.setter + def user_agent(self, value): + self.default_headers['User-Agent'] = value + + def set_default_header(self, header_name, header_value): + self.default_headers[header_name] = header_value + + + _default = None + + @classmethod + def get_default(cls): + """Return new instance of ApiClient. + + This method returns newly created, based on default constructor, + object of ApiClient class or returns a copy of default + ApiClient. + + :return: The ApiClient object. + """ + if cls._default is None: + cls._default = ApiClient() + return cls._default + + @classmethod + def set_default(cls, default): + """Set default instance of ApiClient. + + It stores default ApiClient. + + :param default: object of ApiClient. + """ + cls._default = default + + def param_serialize( + self, + method, + resource_path, + path_params=None, + query_params=None, + header_params=None, + body=None, + post_params=None, + files=None, auth_settings=None, + collection_formats=None, + _host=None, + _request_auth=None + ) -> RequestSerialized: + + """Builds the HTTP request params needed by the request. + :param method: Method to call. + :param resource_path: Path to method endpoint. + :param path_params: Path parameters in the url. + :param query_params: Query parameters in the url. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param auth_settings list: Auth Settings names for the request. + :param files dict: key -> filename, value -> filepath, + for `multipart/form-data`. + :param collection_formats: dict of collection formats for path, query, + header, and post parameters. + :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. + :return: tuple of form (path, http_method, query_params, header_params, + body, post_params, files) + """ + + config = self.configuration + + # header parameters + header_params = header_params or {} + header_params.update(self.default_headers) + if self.cookie: + header_params['Cookie'] = self.cookie + if header_params: + header_params = self.sanitize_for_serialization(header_params) + header_params = dict( + self.parameters_to_tuples(header_params,collection_formats) + ) + + # path parameters + if path_params: + path_params = self.sanitize_for_serialization(path_params) + path_params = self.parameters_to_tuples( + path_params, + collection_formats + ) + for k, v in path_params: + # specified safe chars, encode everything + resource_path = resource_path.replace( + '{%s}' % k, + quote(str(v), safe=config.safe_chars_for_path_param) + ) + + # post parameters + if post_params or files: + post_params = post_params if post_params else [] + post_params = self.sanitize_for_serialization(post_params) + post_params = self.parameters_to_tuples( + post_params, + collection_formats + ) + post_params.extend(self.files_parameters(files)) + + # auth setting + self.update_params_for_auth( + header_params, + query_params, + auth_settings, + resource_path, + method, + body, + request_auth=_request_auth + ) + + # body + if body: + body = self.sanitize_for_serialization(body) + + # request url + if _host is None: + url = self.configuration.host + resource_path + else: + # use server/host defined in path or operation instead + url = _host + resource_path + + # query parameters + if query_params: + query_params = self.sanitize_for_serialization(query_params) + url_query = self.parameters_to_url_query( + query_params, + collection_formats + ) + url += "?" + url_query + + return method, url, header_params, body, post_params + + + def call_api( + self, + method, + url, + header_params=None, + body=None, + post_params=None, + _request_timeout=None + ) -> rest.RESTResponse: + """Makes the HTTP request (synchronous) + :param method: Method to call. + :param url: Path to method endpoint. + :param header_params: Header parameters to be + placed in the request header. + :param body: Request body. + :param post_params dict: Request post form parameters, + for `application/x-www-form-urlencoded`, `multipart/form-data`. + :param _request_timeout: timeout setting for this request. + :return: RESTResponse + """ + + try: + # perform request and return response + response_data = self.rest_client.request( + method, url, + headers=header_params, + body=body, post_params=post_params, + _request_timeout=_request_timeout + ) + + except ApiException as e: + raise e + + return response_data + + def response_deserialize( + self, + response_data: rest.RESTResponse, + response_types_map: Optional[Dict[str, ApiResponseT]]=None + ) -> ApiResponse[ApiResponseT]: + """Deserializes response into an object. + :param response_data: RESTResponse object to be deserialized. + :param response_types_map: dict of response types. + :return: ApiResponse + """ + + msg = "RESTResponse.read() must be called before passing it to response_deserialize()" + assert response_data.data is not None, msg + + response_type = response_types_map.get(str(response_data.status), None) + if not response_type and isinstance(response_data.status, int) and 100 <= response_data.status <= 599: + # if not found, look for '1XX', '2XX', etc. + response_type = response_types_map.get(str(response_data.status)[0] + "XX", None) + + # deserialize response data + response_text = None + return_data = None + try: + if response_type == "bytearray": + return_data = response_data.data + elif response_type == "file": + return_data = self.__deserialize_file(response_data) + elif response_type is not None: + match = None + content_type = response_data.getheader('content-type') + if content_type is not None: + match = re.search(r"charset=([a-zA-Z\-\d]+)[\s;]?", content_type) + encoding = match.group(1) if match else "utf-8" + response_text = response_data.data.decode(encoding) + return_data = self.deserialize(response_text, response_type) + finally: + if not 200 <= response_data.status <= 299: + raise ApiException.from_response( + http_resp=response_data, + body=response_text, + data=return_data, + ) + + return ApiResponse( + status_code = response_data.status, + data = return_data, + headers = response_data.getheaders(), + raw_data = response_data.data + ) + + def sanitize_for_serialization(self, obj): + """Builds a JSON POST object. + + If obj is None, return None. + If obj is str, int, long, float, bool, return directly. + If obj is datetime.datetime, datetime.date + convert to string in iso8601 format. + If obj is list, sanitize each element in the list. + If obj is dict, return the dict. + If obj is OpenAPI model, return the properties dict. + + :param obj: The data to serialize. + :return: The serialized form of data. + """ + if obj is None: + return None + elif isinstance(obj, self.PRIMITIVE_TYPES): + return obj + elif isinstance(obj, list): + return [ + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ] + elif isinstance(obj, tuple): + return tuple( + self.sanitize_for_serialization(sub_obj) for sub_obj in obj + ) + elif isinstance(obj, (datetime.datetime, datetime.date)): + return obj.isoformat() + + elif isinstance(obj, dict): + obj_dict = obj + else: + # Convert model obj to dict except + # attributes `openapi_types`, `attribute_map` + # and attributes which value is not None. + # Convert attribute name to json key in + # model definition for request. + obj_dict = obj.to_dict() + + return { + key: self.sanitize_for_serialization(val) + for key, val in obj_dict.items() + } + + def deserialize(self, response_text, response_type): + """Deserializes response into an object. + + :param response: RESTResponse object to be deserialized. + :param response_type: class literal for + deserialized object, or string of class name. + + :return: deserialized object. + """ + + # fetch data from response object + try: + data = json.loads(response_text) + except ValueError: + data = response_text + + return self.__deserialize(data, response_type) + + def __deserialize(self, data, klass): + """Deserializes dict, list, str into an object. + + :param data: dict, list or str. + :param klass: class literal, or string of class name. + + :return: object. + """ + if data is None: + return None + + if isinstance(klass, str): + if klass.startswith('List['): + m = re.match(r'List\[(.*)]', klass) + assert m is not None, "Malformed List type definition" + sub_kls = m.group(1) + return [self.__deserialize(sub_data, sub_kls) + for sub_data in data] + + if klass.startswith('Dict['): + m = re.match(r'Dict\[([^,]*), (.*)]', klass) + assert m is not None, "Malformed Dict type definition" + sub_kls = m.group(2) + return {k: self.__deserialize(v, sub_kls) + for k, v in data.items()} + + # convert str to class + if klass in self.NATIVE_TYPES_MAPPING: + klass = self.NATIVE_TYPES_MAPPING[klass] + else: + klass = getattr(equinix.services.fabricv4.models, klass) + + if klass in self.PRIMITIVE_TYPES: + return self.__deserialize_primitive(data, klass) + elif klass == object: + return self.__deserialize_object(data) + elif klass == datetime.date: + return self.__deserialize_date(data) + elif klass == datetime.datetime: + return self.__deserialize_datetime(data) + elif issubclass(klass, Enum): + return self.__deserialize_enum(data, klass) + else: + return self.__deserialize_model(data, klass) + + def parameters_to_tuples(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: Parameters as list of tuples, collections formatted + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, value) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(str(value) for value in v))) + else: + new_params.append((k, v)) + return new_params + + def parameters_to_url_query(self, params, collection_formats): + """Get parameters as list of tuples, formatting collections. + + :param params: Parameters as dict or list of two-tuples + :param dict collection_formats: Parameter collection formats + :return: URL query string (e.g. a=Hello%20World&b=123) + """ + new_params: List[Tuple[str, str]] = [] + if collection_formats is None: + collection_formats = {} + for k, v in params.items() if isinstance(params, dict) else params: + if isinstance(v, bool): + v = str(v).lower() + if isinstance(v, (int, float)): + v = str(v) + if isinstance(v, dict): + v = json.dumps(v) + + if k in collection_formats: + collection_format = collection_formats[k] + if collection_format == 'multi': + new_params.extend((k, str(value)) for value in v) + else: + if collection_format == 'ssv': + delimiter = ' ' + elif collection_format == 'tsv': + delimiter = '\t' + elif collection_format == 'pipes': + delimiter = '|' + else: # csv is the default + delimiter = ',' + new_params.append( + (k, delimiter.join(quote(str(value)) for value in v)) + ) + else: + new_params.append((k, quote(str(v)))) + + return "&".join(["=".join(map(str, item)) for item in new_params]) + + def files_parameters(self, files=None): + """Builds form parameters. + + :param files: File parameters. + :return: Form parameters with files. + """ + params = [] + + if files: + for k, v in files.items(): + if not v: + continue + file_names = v if type(v) is list else [v] + for n in file_names: + with open(n, 'rb') as f: + filename = os.path.basename(f.name) + filedata = f.read() + mimetype = ( + mimetypes.guess_type(filename)[0] + or 'application/octet-stream' + ) + params.append( + tuple([k, tuple([filename, filedata, mimetype])]) + ) + + return params + + def select_header_accept(self, accepts: List[str]) -> Optional[str]: + """Returns `Accept` based on an array of accepts provided. + + :param accepts: List of headers. + :return: Accept (e.g. application/json). + """ + if not accepts: + return None + + for accept in accepts: + if re.search('json', accept, re.IGNORECASE): + return accept + + return accepts[0] + + def select_header_content_type(self, content_types): + """Returns `Content-Type` based on an array of content_types provided. + + :param content_types: List of content-types. + :return: Content-Type (e.g. application/json). + """ + if not content_types: + return None + + for content_type in content_types: + if re.search('json', content_type, re.IGNORECASE): + return content_type + + return content_types[0] + + def update_params_for_auth( + self, + headers, + queries, + auth_settings, + resource_path, + method, + body, + request_auth=None + ) -> None: + """Updates header and query params based on authentication setting. + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :param auth_settings: Authentication setting identifiers list. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param request_auth: if set, the provided settings will + override the token in the configuration. + """ + if not auth_settings: + return + + if request_auth: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + request_auth + ) + else: + for auth in auth_settings: + auth_setting = self.configuration.auth_settings().get(auth) + if auth_setting: + self._apply_auth_params( + headers, + queries, + resource_path, + method, + body, + auth_setting + ) + + def _apply_auth_params( + self, + headers, + queries, + resource_path, + method, + body, + auth_setting + ) -> None: + """Updates the request parameters based on a single auth_setting + + :param headers: Header parameters dict to be updated. + :param queries: Query parameters tuple list to be updated. + :resource_path: A string representation of the HTTP request resource path. + :method: A string representation of the HTTP request method. + :body: A object representing the body of the HTTP request. + The object type is the return value of sanitize_for_serialization(). + :param auth_setting: auth settings for the endpoint + """ + if auth_setting['in'] == 'cookie': + headers['Cookie'] = auth_setting['value'] + elif auth_setting['in'] == 'header': + if auth_setting['type'] != 'http-signature': + headers[auth_setting['key']] = auth_setting['value'] + elif auth_setting['in'] == 'query': + queries.append((auth_setting['key'], auth_setting['value'])) + else: + raise ApiValueError( + 'Authentication token must be in `query` or `header`' + ) + + def __deserialize_file(self, response): + """Deserializes body to file + + Saves response body into a file in a temporary folder, + using the filename from the `Content-Disposition` header if provided. + + handle file downloading + save response body into a tmp file and return the instance + + :param response: RESTResponse. + :return: file path. + """ + fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path) + os.close(fd) + os.remove(path) + + content_disposition = response.getheader("Content-Disposition") + if content_disposition: + m = re.search( + r'filename=[\'"]?([^\'"\s]+)[\'"]?', + content_disposition + ) + assert m is not None, "Unexpected 'content-disposition' header value" + filename = m.group(1) + path = os.path.join(os.path.dirname(path), filename) + + with open(path, "wb") as f: + f.write(response.data) + + return path + + def __deserialize_primitive(self, data, klass): + """Deserializes string to primitive type. + + :param data: str. + :param klass: class literal. + + :return: int, long, float, str, bool. + """ + try: + return klass(data) + except UnicodeEncodeError: + return str(data) + except TypeError: + return data + + def __deserialize_object(self, value): + """Return an original value. + + :return: object. + """ + return value + + def __deserialize_date(self, string): + """Deserializes string to date. + + :param string: str. + :return: date. + """ + try: + return parse(string).date() + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason="Failed to parse `{0}` as date object".format(string) + ) + + def __deserialize_datetime(self, string): + """Deserializes string to datetime. + + The string should be in iso8601 datetime format. + + :param string: str. + :return: datetime. + """ + try: + return parse(string) + except ImportError: + return string + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as datetime object" + .format(string) + ) + ) + + def __deserialize_enum(self, data, klass): + """Deserializes primitive type to enum. + + :param data: primitive type. + :param klass: class literal. + :return: enum value. + """ + try: + return klass(data) + except ValueError: + raise rest.ApiException( + status=0, + reason=( + "Failed to parse `{0}` as `{1}`" + .format(data, klass) + ) + ) + + def __deserialize_model(self, data, klass): + """Deserializes list or dict to model. + + :param data: dict, list. + :param klass: class literal. + :return: model object. + """ + + return klass.from_dict(data) diff --git a/equinix/services/fabricv4/api_response.py b/equinix/services/fabricv4/api_response.py new file mode 100644 index 00000000..9bc7c11f --- /dev/null +++ b/equinix/services/fabricv4/api_response.py @@ -0,0 +1,21 @@ +"""API response object.""" + +from __future__ import annotations +from typing import Optional, Generic, Mapping, TypeVar +from pydantic import Field, StrictInt, StrictBytes, BaseModel + +T = TypeVar("T") + +class ApiResponse(BaseModel, Generic[T]): + """ + API response object + """ + + status_code: StrictInt = Field(description="HTTP status code") + headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") + data: T = Field(description="Deserialized data given the data type") + raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") + + model_config = { + "arbitrary_types_allowed": True + } diff --git a/equinix/services/fabricv4/configuration.py b/equinix/services/fabricv4/configuration.py new file mode 100644 index 00000000..57f06f1c --- /dev/null +++ b/equinix/services/fabricv4/configuration.py @@ -0,0 +1,446 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import copy +import logging +from logging import FileHandler +import multiprocessing +import sys +from typing import Optional +import urllib3 + +import http.client as httplib + +JSON_SCHEMA_VALIDATION_KEYWORDS = { + 'multipleOf', 'maximum', 'exclusiveMaximum', + 'minimum', 'exclusiveMinimum', 'maxLength', + 'minLength', 'pattern', 'maxItems', 'minItems' +} + +class Configuration: + """This class contains various settings of the API client. + + :param host: Base url. + :param api_key: Dict to store API key(s). + Each entry in the dict specifies an API key. + The dict key is the name of the security scheme in the OAS specification. + The dict value is the API key secret. + :param api_key_prefix: Dict to store API prefix (e.g. Bearer). + The dict key is the name of the security scheme in the OAS specification. + The dict value is an API key prefix when generating the auth data. + :param username: Username for HTTP basic authentication. + :param password: Password for HTTP basic authentication. + :param access_token: Access token. + :param server_index: Index to servers configuration. + :param server_variables: Mapping with string values to replace variables in + templated server configuration. The validation of enums is performed for + variables with defined enum values before. + :param server_operation_index: Mapping from operation ID to an index to server + configuration. + :param server_operation_variables: Mapping from operation ID to a mapping with + string values to replace variables in templated server configuration. + The validation of enums is performed for variables with defined enum + values before. + :param ssl_ca_cert: str - the path to a file of concatenated CA certificates + in PEM format. + + :Example: + """ + + _default = None + + def __init__(self, host=None, + api_key=None, api_key_prefix=None, + username=None, password=None, + access_token=None, + server_index=None, server_variables=None, + server_operation_index=None, server_operation_variables=None, + ssl_ca_cert=None, + ) -> None: + """Constructor + """ + self._base_path = "https://api.equinix.com" if host is None else host + """Default Base url + """ + self.server_index = 0 if server_index is None and host is None else server_index + self.server_operation_index = server_operation_index or {} + """Default server index + """ + self.server_variables = server_variables or {} + self.server_operation_variables = server_operation_variables or {} + """Default server variables + """ + self.temp_folder_path = None + """Temp file folder for downloading files + """ + # Authentication Settings + self.api_key = {} + if api_key: + self.api_key = api_key + """dict to store API key(s) + """ + self.api_key_prefix = {} + if api_key_prefix: + self.api_key_prefix = api_key_prefix + """dict to store API prefix (e.g. Bearer) + """ + self.refresh_api_key_hook = None + """function hook to refresh API key if expired + """ + self.username = username + """Username for HTTP basic authentication + """ + self.password = password + """Password for HTTP basic authentication + """ + self.access_token = access_token + """Access token + """ + self.logger = {} + """Logging Settings + """ + self.logger["package_logger"] = logging.getLogger("equinix.services.fabricv4") + self.logger["urllib3_logger"] = logging.getLogger("urllib3") + self.logger_format = '%(asctime)s %(levelname)s %(message)s' + """Log format + """ + self.logger_stream_handler = None + """Log stream handler + """ + self.logger_file_handler: Optional[FileHandler] = None + """Log file handler + """ + self.logger_file = None + """Debug file location + """ + self.debug = False + """Debug switch + """ + + self.verify_ssl = True + """SSL/TLS verification + Set this to false to skip verifying SSL certificate when calling API + from https server. + """ + self.ssl_ca_cert = ssl_ca_cert + """Set this to customize the certificate file to verify the peer. + """ + self.cert_file = None + """client certificate file + """ + self.key_file = None + """client key file + """ + self.assert_hostname = None + """Set this to True/False to enable/disable SSL hostname verification. + """ + self.tls_server_name = None + """SSL/TLS Server Name Indication (SNI) + Set this to the SNI value expected by the server. + """ + + self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 + """urllib3 connection pool's maximum number of connections saved + per pool. urllib3 uses 1 connection as default value, but this is + not the best value when you are making a lot of possibly parallel + requests to the same host, which is often the case here. + cpu_count * 5 is used as default value to increase performance. + """ + + self.proxy: Optional[str] = None + """Proxy URL + """ + self.proxy_headers = None + """Proxy headers + """ + self.safe_chars_for_path_param = '' + """Safe chars for path_param + """ + self.retries = None + """Adding retries to override urllib3 default value 3 + """ + # Enable client side validation + self.client_side_validation = True + + self.socket_options = None + """Options to pass down to the underlying urllib3 socket + """ + + self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z" + """datetime format + """ + + self.date_format = "%Y-%m-%d" + """date format + """ + + def __deepcopy__(self, memo): + cls = self.__class__ + result = cls.__new__(cls) + memo[id(self)] = result + for k, v in self.__dict__.items(): + if k not in ('logger', 'logger_file_handler'): + setattr(result, k, copy.deepcopy(v, memo)) + # shallow copy of loggers + result.logger = copy.copy(self.logger) + # use setters to configure loggers + result.logger_file = self.logger_file + result.debug = self.debug + return result + + def __setattr__(self, name, value): + object.__setattr__(self, name, value) + + @classmethod + def set_default(cls, default): + """Set default instance of configuration. + + It stores default configuration, which can be + returned by get_default_copy method. + + :param default: object of Configuration + """ + cls._default = default + + @classmethod + def get_default_copy(cls): + """Deprecated. Please use `get_default` instead. + + Deprecated. Please use `get_default` instead. + + :return: The configuration object. + """ + return cls.get_default() + + @classmethod + def get_default(cls): + """Return the default configuration. + + This method returns newly created, based on default constructor, + object of Configuration class or returns a copy of default + configuration. + + :return: The configuration object. + """ + if cls._default is None: + cls._default = Configuration() + return cls._default + + @property + def logger_file(self): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + return self.__logger_file + + @logger_file.setter + def logger_file(self, value): + """The logger file. + + If the logger_file is None, then add stream handler and remove file + handler. Otherwise, add file handler and remove stream handler. + + :param value: The logger_file path. + :type: str + """ + self.__logger_file = value + if self.__logger_file: + # If set logging file, + # then add file handler and remove stream handler. + self.logger_file_handler = logging.FileHandler(self.__logger_file) + self.logger_file_handler.setFormatter(self.logger_formatter) + for _, logger in self.logger.items(): + logger.addHandler(self.logger_file_handler) + + @property + def debug(self): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + return self.__debug + + @debug.setter + def debug(self, value): + """Debug status + + :param value: The debug status, True or False. + :type: bool + """ + self.__debug = value + if self.__debug: + # if debug status is True, turn on debug logging + for _, logger in self.logger.items(): + logger.setLevel(logging.DEBUG) + # turn on httplib debug + httplib.HTTPConnection.debuglevel = 1 + else: + # if debug status is False, turn off debug logging, + # setting log level to default `logging.WARNING` + for _, logger in self.logger.items(): + logger.setLevel(logging.WARNING) + # turn off httplib debug + httplib.HTTPConnection.debuglevel = 0 + + @property + def logger_format(self): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + return self.__logger_format + + @logger_format.setter + def logger_format(self, value): + """The logger format. + + The logger_formatter will be updated when sets logger_format. + + :param value: The format string. + :type: str + """ + self.__logger_format = value + self.logger_formatter = logging.Formatter(self.__logger_format) + + def get_api_key_with_prefix(self, identifier, alias=None): + """Gets API key (with prefix if set). + + :param identifier: The identifier of apiKey. + :param alias: The alternative identifier of apiKey. + :return: The token for api key authentication. + """ + if self.refresh_api_key_hook is not None: + self.refresh_api_key_hook(self) + key = self.api_key.get(identifier, self.api_key.get(alias) if alias is not None else None) + if key: + prefix = self.api_key_prefix.get(identifier) + if prefix: + return "%s %s" % (prefix, key) + else: + return key + + def get_basic_auth_token(self): + """Gets HTTP basic authentication header (string). + + :return: The token for basic HTTP authentication. + """ + username = "" + if self.username is not None: + username = self.username + password = "" + if self.password is not None: + password = self.password + return urllib3.util.make_headers( + basic_auth=username + ':' + password + ).get('authorization') + + def auth_settings(self): + """Gets Auth Settings dict for api client. + + :return: The Auth Settings information dict. + """ + auth = {} + if self.access_token is not None: + auth['BearerAuth'] = { + 'type': 'bearer', + 'in': 'header', + 'format': 'JWT', + 'key': 'Authorization', + 'value': 'Bearer ' + self.access_token + } + return auth + + def to_debug_report(self): + """Gets the essential information for debugging. + + :return: The report for debugging. + """ + return "Python SDK Debug Report:\n"\ + "OS: {env}\n"\ + "Python Version: {pyversion}\n"\ + "Version of the API: 4.14\n"\ + "SDK Package Version: 0.1.1".\ + format(env=sys.platform, pyversion=sys.version) + + def get_host_settings(self): + """Gets an array of host settings + + :return: An array of host settings + """ + return [ + { + 'url': "https://api.equinix.com", + 'description': "Equinix Inc", + } + ] + + def get_host_from_settings(self, index, variables=None, servers=None): + """Gets host URL based on the index and variables + :param index: array index of the host settings + :param variables: hash of variable and the corresponding value + :param servers: an array of host settings or None + :return: URL based on host settings + """ + if index is None: + return self._base_path + + variables = {} if variables is None else variables + servers = self.get_host_settings() if servers is None else servers + + try: + server = servers[index] + except IndexError: + raise ValueError( + "Invalid index {0} when selecting the host settings. " + "Must be less than {1}".format(index, len(servers))) + + url = server['url'] + + # go through variables and replace placeholders + for variable_name, variable in server.get('variables', {}).items(): + used_value = variables.get( + variable_name, variable['default_value']) + + if 'enum_values' in variable \ + and used_value not in variable['enum_values']: + raise ValueError( + "The variable `{0}` in the host URL has invalid value " + "{1}. Must be {2}.".format( + variable_name, variables[variable_name], + variable['enum_values'])) + + url = url.replace("{" + variable_name + "}", used_value) + + return url + + @property + def host(self): + """Return generated host.""" + return self.get_host_from_settings(self.server_index, variables=self.server_variables) + + @host.setter + def host(self, value): + """Fix base path.""" + self._base_path = value + self.server_index = None diff --git a/equinix/services/fabricv4/docs/AccessPoint.md b/equinix/services/fabricv4/docs/AccessPoint.md new file mode 100644 index 00000000..505febe5 --- /dev/null +++ b/equinix/services/fabricv4/docs/AccessPoint.md @@ -0,0 +1,46 @@ +# AccessPoint + +Access point object + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**AccessPointType**](AccessPointType.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**port** | [**SimplifiedPort**](SimplifiedPort.md) | | [optional] +**profile** | [**SimplifiedServiceProfile**](SimplifiedServiceProfile.md) | | [optional] +**router** | [**CloudRouter**](CloudRouter.md) | | [optional] +**link_protocol** | [**SimplifiedLinkProtocol**](SimplifiedLinkProtocol.md) | | [optional] +**virtual_device** | [**VirtualDevice**](VirtualDevice.md) | | [optional] +**interface** | [**Interface**](Interface.md) | | [optional] +**network** | [**SimplifiedNetwork**](SimplifiedNetwork.md) | | [optional] +**seller_region** | **str** | Access point seller region | [optional] +**peering_type** | [**PeeringType**](PeeringType.md) | | [optional] +**authentication_key** | **str** | Access point authentication key | [optional] +**provider_connection_id** | **str** | Provider assigned Connection Id | [optional] +**virtual_network** | [**VirtualNetwork**](VirtualNetwork.md) | | [optional] +**interconnection** | [**MetalInterconnection**](MetalInterconnection.md) | | [optional] +**vpic_interface** | [**VpicInterface**](VpicInterface.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.access_point import AccessPoint + +# TODO update the JSON string below +json = "{}" +# create an instance of AccessPoint from a JSON string +access_point_instance = AccessPoint.from_json(json) +# print the JSON string representation of the object +print(AccessPoint.to_json()) + +# convert the object into a dict +access_point_dict = access_point_instance.to_dict() +# create an instance of AccessPoint from a dict +access_point_form_dict = access_point.from_dict(access_point_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/AccessPointSelector.md b/equinix/services/fabricv4/docs/AccessPointSelector.md new file mode 100644 index 00000000..dd14a970 --- /dev/null +++ b/equinix/services/fabricv4/docs/AccessPointSelector.md @@ -0,0 +1,32 @@ +# AccessPointSelector + +List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**AccessPointSelectorType**](AccessPointSelectorType.md) | | [optional] +**port** | [**SimplifiedMetadataEntity**](SimplifiedMetadataEntity.md) | | [optional] +**link_protocol** | [**LinkProtocol**](LinkProtocol.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.access_point_selector import AccessPointSelector + +# TODO update the JSON string below +json = "{}" +# create an instance of AccessPointSelector from a JSON string +access_point_selector_instance = AccessPointSelector.from_json(json) +# print the JSON string representation of the object +print(AccessPointSelector.to_json()) + +# convert the object into a dict +access_point_selector_dict = access_point_selector_instance.to_dict() +# create an instance of AccessPointSelector from a dict +access_point_selector_form_dict = access_point_selector.from_dict(access_point_selector_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/AccessPointSelectorType.md b/equinix/services/fabricv4/docs/AccessPointSelectorType.md new file mode 100644 index 00000000..ec93b8e7 --- /dev/null +++ b/equinix/services/fabricv4/docs/AccessPointSelectorType.md @@ -0,0 +1,12 @@ +# AccessPointSelectorType + +Type of Access point + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/AccessPointType.md b/equinix/services/fabricv4/docs/AccessPointType.md new file mode 100644 index 00000000..0d751659 --- /dev/null +++ b/equinix/services/fabricv4/docs/AccessPointType.md @@ -0,0 +1,12 @@ +# AccessPointType + +Access point type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Account.md b/equinix/services/fabricv4/docs/Account.md new file mode 100644 index 00000000..5d79032c --- /dev/null +++ b/equinix/services/fabricv4/docs/Account.md @@ -0,0 +1,33 @@ +# Account + +Account model, includes account number and flag to indicate if this account is reseller + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **int** | | +**is_reseller_account** | **bool** | | [optional] +**org_id** | **str** | | [optional] +**global_org_id** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.account import Account + +# TODO update the JSON string below +json = "{}" +# create an instance of Account from a JSON string +account_instance = Account.from_json(json) +# print the JSON string representation of the object +print(Account.to_json()) + +# convert the object into a dict +account_dict = account_instance.to_dict() +# create an instance of Account from a dict +account_form_dict = account.from_dict(account_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/Actions.md b/equinix/services/fabricv4/docs/Actions.md new file mode 100644 index 00000000..2403a0fa --- /dev/null +++ b/equinix/services/fabricv4/docs/Actions.md @@ -0,0 +1,12 @@ +# Actions + +Connection action type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/AddOperation.md b/equinix/services/fabricv4/docs/AddOperation.md new file mode 100644 index 00000000..000c531c --- /dev/null +++ b/equinix/services/fabricv4/docs/AddOperation.md @@ -0,0 +1,32 @@ +# AddOperation + +Add Sub-Resource to the existing model + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**OpEnum**](OpEnum.md) | | +**path** | **str** | A JSON Pointer path. | +**value** | **object** | value to add | + +## Example + +```python +from equinix.services.fabricv4.models.add_operation import AddOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of AddOperation from a JSON string +add_operation_instance = AddOperation.from_json(json) +# print the JSON string representation of the object +print(AddOperation.to_json()) + +# convert the object into a dict +add_operation_dict = add_operation_instance.to_dict() +# create an instance of AddOperation from a dict +add_operation_form_dict = add_operation.from_dict(add_operation_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/AdvanceConfiguration.md b/equinix/services/fabricv4/docs/AdvanceConfiguration.md new file mode 100644 index 00000000..f21954f6 --- /dev/null +++ b/equinix/services/fabricv4/docs/AdvanceConfiguration.md @@ -0,0 +1,31 @@ +# AdvanceConfiguration + +Advance Configuration for NTP/PTP + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ntp** | [**List[Md5]**](Md5.md) | | [optional] +**ptp** | [**PtpAdvanceConfiguration**](PtpAdvanceConfiguration.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.advance_configuration import AdvanceConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of AdvanceConfiguration from a JSON string +advance_configuration_instance = AdvanceConfiguration.from_json(json) +# print the JSON string representation of the object +print(AdvanceConfiguration.to_json()) + +# convert the object into a dict +advance_configuration_dict = advance_configuration_instance.to_dict() +# create an instance of AdvanceConfiguration from a dict +advance_configuration_form_dict = advance_configuration.from_dict(advance_configuration_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/AllPhysicalPortsResponse.md b/equinix/services/fabricv4/docs/AllPhysicalPortsResponse.md new file mode 100644 index 00000000..b68103b4 --- /dev/null +++ b/equinix/services/fabricv4/docs/AllPhysicalPortsResponse.md @@ -0,0 +1,31 @@ +# AllPhysicalPortsResponse + +GET All Physical Ports + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[PhysicalPort]**](PhysicalPort.md) | GET All Physical Ports | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.all_physical_ports_response import AllPhysicalPortsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of AllPhysicalPortsResponse from a JSON string +all_physical_ports_response_instance = AllPhysicalPortsResponse.from_json(json) +# print the JSON string representation of the object +print(AllPhysicalPortsResponse.to_json()) + +# convert the object into a dict +all_physical_ports_response_dict = all_physical_ports_response_instance.to_dict() +# create an instance of AllPhysicalPortsResponse from a dict +all_physical_ports_response_form_dict = all_physical_ports_response.from_dict(all_physical_ports_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/AllPortsResponse.md b/equinix/services/fabricv4/docs/AllPortsResponse.md new file mode 100644 index 00000000..c2bf1d83 --- /dev/null +++ b/equinix/services/fabricv4/docs/AllPortsResponse.md @@ -0,0 +1,31 @@ +# AllPortsResponse + +GET All User Port Across Fabric Metros + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[PortResponse]**](PortResponse.md) | GET All User Port Across Fabric Metros | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of AllPortsResponse from a JSON string +all_ports_response_instance = AllPortsResponse.from_json(json) +# print the JSON string representation of the object +print(AllPortsResponse.to_json()) + +# convert the object into a dict +all_ports_response_dict = all_ports_response_instance.to_dict() +# create an instance of AllPortsResponse from a dict +all_ports_response_form_dict = all_ports_response.from_dict(all_ports_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/ApiConfig.md b/equinix/services/fabricv4/docs/ApiConfig.md new file mode 100644 index 00000000..59eca292 --- /dev/null +++ b/equinix/services/fabricv4/docs/ApiConfig.md @@ -0,0 +1,36 @@ +# ApiConfig + +Configuration for API based Integration for Service Profile + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**api_available** | **bool** | Setting indicating whether the API is available (true) or not (false). | [optional] [default to False] +**integration_id** | **str** | | [optional] +**equinix_managed_port** | **bool** | Setting indicating that the port is managed by Equinix (true) or not (false). | [optional] [default to False] +**equinix_managed_vlan** | **bool** | Setting indicating that the VLAN is managed by Equinix (true) or not (false). | [optional] [default to False] +**allow_over_subscription** | **bool** | Setting showing that oversubscription support is available (true) or not (false). The default is false. Oversubscription is the sale of more than the available network bandwidth. This practice is common and legitimate. After all, many customers use less bandwidth than they've purchased. And network users don't consume bandwidth all at the same time. The leftover bandwidth can be sold to other customers. When demand surges, operational and engineering resources can be shifted to accommodate the load. | [optional] [default to False] +**over_subscription_limit** | **int** | A cap on oversubscription. | [optional] [default to 1] +**bandwidth_from_api** | **bool** | | [optional] [default to False] + +## Example + +```python +from equinix.services.fabricv4.models.api_config import ApiConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiConfig from a JSON string +api_config_instance = ApiConfig.from_json(json) +# print the JSON string representation of the object +print(ApiConfig.to_json()) + +# convert the object into a dict +api_config_dict = api_config_instance.to_dict() +# create an instance of ApiConfig from a dict +api_config_form_dict = api_config.from_dict(api_config_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/ApiServices.md b/equinix/services/fabricv4/docs/ApiServices.md new file mode 100644 index 00000000..488f2675 --- /dev/null +++ b/equinix/services/fabricv4/docs/ApiServices.md @@ -0,0 +1,32 @@ +# ApiServices + +Available services details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**route** | **str** | service routes | [optional] +**status** | **str** | service status | [optional] +**changed_date_time** | **str** | service status change date | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.api_services import ApiServices + +# TODO update the JSON string below +json = "{}" +# create an instance of ApiServices from a JSON string +api_services_instance = ApiServices.from_json(json) +# print the JSON string representation of the object +print(ApiServices.to_json()) + +# convert the object into a dict +api_services_dict = api_services_instance.to_dict() +# create an instance of ApiServices from a dict +api_services_form_dict = api_services.from_dict(api_services_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/AuthenticationKey.md b/equinix/services/fabricv4/docs/AuthenticationKey.md new file mode 100644 index 00000000..7bc771ac --- /dev/null +++ b/equinix/services/fabricv4/docs/AuthenticationKey.md @@ -0,0 +1,32 @@ +# AuthenticationKey + +Authentication Key Support and Customization + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**required** | **bool** | | [optional] [default to False] +**label** | **str** | | [optional] +**description** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.authentication_key import AuthenticationKey + +# TODO update the JSON string below +json = "{}" +# create an instance of AuthenticationKey from a JSON string +authentication_key_instance = AuthenticationKey.from_json(json) +# print the JSON string representation of the object +print(AuthenticationKey.to_json()) + +# convert the object into a dict +authentication_key_dict = authentication_key_instance.to_dict() +# create an instance of AuthenticationKey from a dict +authentication_key_form_dict = authentication_key.from_dict(authentication_key_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/BGPActionData.md b/equinix/services/fabricv4/docs/BGPActionData.md new file mode 100644 index 00000000..f7cd9bd4 --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPActionData.md @@ -0,0 +1,34 @@ +# BGPActionData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Routing Protocol URI | [optional] +**uuid** | **str** | Routing protocol identifier | [optional] +**type** | [**BGPActions**](BGPActions.md) | | [optional] +**description** | **str** | BGP action description | [optional] +**state** | [**BGPActionStates**](BGPActionStates.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bgp_action_data import BGPActionData + +# TODO update the JSON string below +json = "{}" +# create an instance of BGPActionData from a JSON string +bgp_action_data_instance = BGPActionData.from_json(json) +# print the JSON string representation of the object +print(BGPActionData.to_json()) + +# convert the object into a dict +bgp_action_data_dict = bgp_action_data_instance.to_dict() +# create an instance of BGPActionData from a dict +bgp_action_data_form_dict = bgp_action_data.from_dict(bgp_action_data_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/BGPActionRequest.md b/equinix/services/fabricv4/docs/BGPActionRequest.md new file mode 100644 index 00000000..1fb7d6bb --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPActionRequest.md @@ -0,0 +1,30 @@ +# BGPActionRequest + +BGP action request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**BGPActions**](BGPActions.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.bgp_action_request import BGPActionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of BGPActionRequest from a JSON string +bgp_action_request_instance = BGPActionRequest.from_json(json) +# print the JSON string representation of the object +print(BGPActionRequest.to_json()) + +# convert the object into a dict +bgp_action_request_dict = bgp_action_request_instance.to_dict() +# create an instance of BGPActionRequest from a dict +bgp_action_request_form_dict = bgp_action_request.from_dict(bgp_action_request_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/BGPActionStates.md b/equinix/services/fabricv4/docs/BGPActionStates.md new file mode 100644 index 00000000..aa1c6a42 --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPActionStates.md @@ -0,0 +1,12 @@ +# BGPActionStates + +BGP action state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/BGPActions.md b/equinix/services/fabricv4/docs/BGPActions.md new file mode 100644 index 00000000..e1a5bfdd --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPActions.md @@ -0,0 +1,12 @@ +# BGPActions + +BGP action type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/BGPActionsBulkData.md b/equinix/services/fabricv4/docs/BGPActionsBulkData.md new file mode 100644 index 00000000..be7e92d9 --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPActionsBulkData.md @@ -0,0 +1,31 @@ +# BGPActionsBulkData + +List of BGP Actions + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[BGPActionData]**](BGPActionData.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bgp_actions_bulk_data import BGPActionsBulkData + +# TODO update the JSON string below +json = "{}" +# create an instance of BGPActionsBulkData from a JSON string +bgp_actions_bulk_data_instance = BGPActionsBulkData.from_json(json) +# print the JSON string representation of the object +print(BGPActionsBulkData.to_json()) + +# convert the object into a dict +bgp_actions_bulk_data_dict = bgp_actions_bulk_data_instance.to_dict() +# create an instance of BGPActionsBulkData from a dict +bgp_actions_bulk_data_form_dict = bgp_actions_bulk_data.from_dict(bgp_actions_bulk_data_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/BGPConnectionIpv4.md b/equinix/services/fabricv4/docs/BGPConnectionIpv4.md new file mode 100644 index 00000000..b3fd5378 --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPConnectionIpv4.md @@ -0,0 +1,33 @@ +# BGPConnectionIpv4 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_peer_ip** | **str** | Customer side peering ip | +**equinix_peer_ip** | **str** | Equinix side peering ip | [optional] +**enabled** | **bool** | Admin status for the BGP session | +**outbound_as_prepend_count** | **int** | AS path prepend count | [optional] +**operation** | [**BGPConnectionOperation**](BGPConnectionOperation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bgp_connection_ipv4 import BGPConnectionIpv4 + +# TODO update the JSON string below +json = "{}" +# create an instance of BGPConnectionIpv4 from a JSON string +bgp_connection_ipv4_instance = BGPConnectionIpv4.from_json(json) +# print the JSON string representation of the object +print(BGPConnectionIpv4.to_json()) + +# convert the object into a dict +bgp_connection_ipv4_dict = bgp_connection_ipv4_instance.to_dict() +# create an instance of BGPConnectionIpv4 from a dict +bgp_connection_ipv4_form_dict = bgp_connection_ipv4.from_dict(bgp_connection_ipv4_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/BGPConnectionIpv6.md b/equinix/services/fabricv4/docs/BGPConnectionIpv6.md new file mode 100644 index 00000000..dae2e29b --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPConnectionIpv6.md @@ -0,0 +1,33 @@ +# BGPConnectionIpv6 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**customer_peer_ip** | **str** | Customer side peering ip | +**equinix_peer_ip** | **str** | Equinix side peering ip | [optional] +**enabled** | **bool** | Admin status for the BGP session | +**outbound_as_prepend_count** | **int** | AS path prepend count | [optional] +**operation** | [**BGPConnectionOperation**](BGPConnectionOperation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bgp_connection_ipv6 import BGPConnectionIpv6 + +# TODO update the JSON string below +json = "{}" +# create an instance of BGPConnectionIpv6 from a JSON string +bgp_connection_ipv6_instance = BGPConnectionIpv6.from_json(json) +# print the JSON string representation of the object +print(BGPConnectionIpv6.to_json()) + +# convert the object into a dict +bgp_connection_ipv6_dict = bgp_connection_ipv6_instance.to_dict() +# create an instance of BGPConnectionIpv6 from a dict +bgp_connection_ipv6_form_dict = bgp_connection_ipv6.from_dict(bgp_connection_ipv6_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/BGPConnectionOperation.md b/equinix/services/fabricv4/docs/BGPConnectionOperation.md new file mode 100644 index 00000000..b3087d4b --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPConnectionOperation.md @@ -0,0 +1,31 @@ +# BGPConnectionOperation + +BGP IPv4 or IPv6 Connection State operational data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operational_status** | [**BGPConnectionOperationOperationalStatus**](BGPConnectionOperationOperationalStatus.md) | | [optional] +**op_status_changed_at** | **datetime** | Last BGP State Update by Date and Time | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bgp_connection_operation import BGPConnectionOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of BGPConnectionOperation from a JSON string +bgp_connection_operation_instance = BGPConnectionOperation.from_json(json) +# print the JSON string representation of the object +print(BGPConnectionOperation.to_json()) + +# convert the object into a dict +bgp_connection_operation_dict = bgp_connection_operation_instance.to_dict() +# create an instance of BGPConnectionOperation from a dict +bgp_connection_operation_form_dict = bgp_connection_operation.from_dict(bgp_connection_operation_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/BGPConnectionOperationOperationalStatus.md b/equinix/services/fabricv4/docs/BGPConnectionOperationOperationalStatus.md new file mode 100644 index 00000000..757a17c9 --- /dev/null +++ b/equinix/services/fabricv4/docs/BGPConnectionOperationOperationalStatus.md @@ -0,0 +1,12 @@ +# BGPConnectionOperationOperationalStatus + +BGP IPv4 or IPv6 Connection State operational status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/BandwidthUtilization.md b/equinix/services/fabricv4/docs/BandwidthUtilization.md new file mode 100644 index 00000000..e26ffc5c --- /dev/null +++ b/equinix/services/fabricv4/docs/BandwidthUtilization.md @@ -0,0 +1,33 @@ +# BandwidthUtilization + +Bandwidth utilization statistics (octet counters-based) + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**unit** | [**BandwidthUtilizationUnit**](BandwidthUtilizationUnit.md) | | [optional] +**metric_interval** | **str** | An interval formatted value, indicating the time-interval the metric objects within the response represent | [optional] +**inbound** | [**Direction**](Direction.md) | | [optional] +**outbound** | [**Direction**](Direction.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bandwidth_utilization import BandwidthUtilization + +# TODO update the JSON string below +json = "{}" +# create an instance of BandwidthUtilization from a JSON string +bandwidth_utilization_instance = BandwidthUtilization.from_json(json) +# print the JSON string representation of the object +print(BandwidthUtilization.to_json()) + +# convert the object into a dict +bandwidth_utilization_dict = bandwidth_utilization_instance.to_dict() +# create an instance of BandwidthUtilization from a dict +bandwidth_utilization_form_dict = bandwidth_utilization.from_dict(bandwidth_utilization_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/BandwidthUtilizationUnit.md b/equinix/services/fabricv4/docs/BandwidthUtilizationUnit.md new file mode 100644 index 00000000..c09eb303 --- /dev/null +++ b/equinix/services/fabricv4/docs/BandwidthUtilizationUnit.md @@ -0,0 +1,12 @@ +# BandwidthUtilizationUnit + +Aggregated data transfer capacity. Possible values- Mbps, megabits (1 million bits) per second; Gbps, gigabits (1 billion bits) per second. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/BulkPhysicalPort.md b/equinix/services/fabricv4/docs/BulkPhysicalPort.md new file mode 100644 index 00000000..474abccf --- /dev/null +++ b/equinix/services/fabricv4/docs/BulkPhysicalPort.md @@ -0,0 +1,30 @@ +# BulkPhysicalPort + +Add to Lag request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[PhysicalPort]**](PhysicalPort.md) | add physical ports to virtual port | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bulk_physical_port import BulkPhysicalPort + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkPhysicalPort from a JSON string +bulk_physical_port_instance = BulkPhysicalPort.from_json(json) +# print the JSON string representation of the object +print(BulkPhysicalPort.to_json()) + +# convert the object into a dict +bulk_physical_port_dict = bulk_physical_port_instance.to_dict() +# create an instance of BulkPhysicalPort from a dict +bulk_physical_port_form_dict = bulk_physical_port.from_dict(bulk_physical_port_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/BulkPort.md b/equinix/services/fabricv4/docs/BulkPort.md new file mode 100644 index 00000000..8adf6ae3 --- /dev/null +++ b/equinix/services/fabricv4/docs/BulkPort.md @@ -0,0 +1,30 @@ +# BulkPort + +Create bulk port request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[Port]**](Port.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.bulk_port import BulkPort + +# TODO update the JSON string below +json = "{}" +# create an instance of BulkPort from a JSON string +bulk_port_instance = BulkPort.from_json(json) +# print the JSON string representation of the object +print(BulkPort.to_json()) + +# convert the object into a dict +bulk_port_dict = bulk_port_instance.to_dict() +# create an instance of BulkPort from a dict +bulk_port_form_dict = bulk_port.from_dict(bulk_port_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/Change.md b/equinix/services/fabricv4/docs/Change.md new file mode 100644 index 00000000..bea2f10f --- /dev/null +++ b/equinix/services/fabricv4/docs/Change.md @@ -0,0 +1,36 @@ +# Change + +Current state of latest connection change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Uniquely identifies a change | [optional] +**type** | [**ChangeType**](ChangeType.md) | | +**status** | [**ChangeStatus**](ChangeStatus.md) | | [optional] +**created_date_time** | **datetime** | Set when change flow starts | +**updated_date_time** | **datetime** | Set when change object is updated | [optional] +**information** | **str** | Additional information | [optional] +**data** | [**ConnectionChangeOperation**](ConnectionChangeOperation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.change import Change + +# TODO update the JSON string below +json = "{}" +# create an instance of Change from a JSON string +change_instance = Change.from_json(json) +# print the JSON string representation of the object +print(Change.to_json()) + +# convert the object into a dict +change_dict = change_instance.to_dict() +# create an instance of Change from a dict +change_form_dict = change.from_dict(change_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/ChangeStatus.md b/equinix/services/fabricv4/docs/ChangeStatus.md new file mode 100644 index 00000000..4a75d503 --- /dev/null +++ b/equinix/services/fabricv4/docs/ChangeStatus.md @@ -0,0 +1,12 @@ +# ChangeStatus + +Current outcome of the change flow + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ChangeType.md b/equinix/services/fabricv4/docs/ChangeType.md new file mode 100644 index 00000000..88ed83d0 --- /dev/null +++ b/equinix/services/fabricv4/docs/ChangeType.md @@ -0,0 +1,12 @@ +# ChangeType + +Type of change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Changelog.md b/equinix/services/fabricv4/docs/Changelog.md new file mode 100644 index 00000000..9310d951 --- /dev/null +++ b/equinix/services/fabricv4/docs/Changelog.md @@ -0,0 +1,41 @@ +# Changelog + +Change log + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | Created by User Key | [optional] +**created_by_full_name** | **str** | Created by User Full Name | [optional] +**created_by_email** | **str** | Created by User Email Address | [optional] +**created_date_time** | **datetime** | Created by Date and Time | [optional] +**updated_by** | **str** | Updated by User Key | [optional] +**updated_by_full_name** | **str** | Updated by User Full Name | [optional] +**updated_by_email** | **str** | Updated by User Email Address | [optional] +**updated_date_time** | **datetime** | Updated by Date and Time | [optional] +**deleted_by** | **str** | Deleted by User Key | [optional] +**deleted_by_full_name** | **str** | Deleted by User Full Name | [optional] +**deleted_by_email** | **str** | Deleted by User Email Address | [optional] +**deleted_date_time** | **datetime** | Deleted by Date and Time | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.changelog import Changelog + +# TODO update the JSON string below +json = "{}" +# create an instance of Changelog from a JSON string +changelog_instance = Changelog.from_json(json) +# print the JSON string representation of the object +print(Changelog.to_json()) + +# convert the object into a dict +changelog_dict = changelog_instance.to_dict() +# create an instance of Changelog from a dict +changelog_form_dict = changelog.from_dict(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/CloudRouter.md b/equinix/services/fabricv4/docs/CloudRouter.md new file mode 100644 index 00000000..2ece6a04 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouter.md @@ -0,0 +1,48 @@ +# CloudRouter + +Fabric Cloud Router object + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Cloud Routers URI | [optional] [readonly] +**uuid** | **str** | Equinix-assigned access point identifier | [optional] +**name** | **str** | Customer-provided Cloud Router name | [optional] +**state** | [**CloudRouterAccessPointState**](CloudRouterAccessPointState.md) | | [optional] +**equinix_asn** | **int** | Equinix ASN | [optional] +**bgp_ipv4_routes_count** | **int** | Access point used and maximum number of IPv4 BGP routes | [optional] +**bgp_ipv6_routes_count** | **int** | Access point used and maximum number of IPv6 BGP routes | [optional] +**connections_count** | **int** | Number of connections associated with this Access point | [optional] +**distinct_ipv4_prefixes_count** | **int** | Number of distinct ipv4 routes | [optional] +**distinct_ipv6_prefixes_count** | **int** | Number of distinct ipv6 routes | [optional] +**change_log** | [**Changelog**](Changelog.md) | | [optional] +**change** | [**CloudRouterChange**](CloudRouterChange.md) | | [optional] +**type** | [**CloudRouterPostRequestType**](CloudRouterPostRequestType.md) | | [optional] +**location** | [**SimplifiedLocationWithoutIBX**](SimplifiedLocationWithoutIBX.md) | | [optional] +**package** | [**CloudRouterPostRequestPackage**](CloudRouterPostRequestPackage.md) | | [optional] +**order** | [**Order**](Order.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Preferences for notifications on connection configuration or status changes | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router import CloudRouter + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouter from a JSON string +cloud_router_instance = CloudRouter.from_json(json) +# print the JSON string representation of the object +print(CloudRouter.to_json()) + +# convert the object into a dict +cloud_router_dict = cloud_router_instance.to_dict() +# create an instance of CloudRouter from a dict +cloud_router_form_dict = cloud_router.from_dict(cloud_router_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/CloudRouterAccessPointState.md b/equinix/services/fabricv4/docs/CloudRouterAccessPointState.md new file mode 100644 index 00000000..e2597a5f --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterAccessPointState.md @@ -0,0 +1,12 @@ +# CloudRouterAccessPointState + +Access point lifecycle state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterActionRequest.md b/equinix/services/fabricv4/docs/CloudRouterActionRequest.md new file mode 100644 index 00000000..ab08e584 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterActionRequest.md @@ -0,0 +1,30 @@ +# CloudRouterActionRequest + +Cloud Router action request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**CloudRouterActionType**](CloudRouterActionType.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_action_request import CloudRouterActionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterActionRequest from a JSON string +cloud_router_action_request_instance = CloudRouterActionRequest.from_json(json) +# print the JSON string representation of the object +print(CloudRouterActionRequest.to_json()) + +# convert the object into a dict +cloud_router_action_request_dict = cloud_router_action_request_instance.to_dict() +# create an instance of CloudRouterActionRequest from a dict +cloud_router_action_request_form_dict = cloud_router_action_request.from_dict(cloud_router_action_request_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/CloudRouterActionResponse.md b/equinix/services/fabricv4/docs/CloudRouterActionResponse.md new file mode 100644 index 00000000..48275147 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterActionResponse.md @@ -0,0 +1,34 @@ +# CloudRouterActionResponse + +Cloud Router actions response object + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**CloudRouterActionType**](CloudRouterActionType.md) | | +**uuid** | **str** | | +**description** | **str** | | [optional] +**state** | [**CloudRouterActionState**](CloudRouterActionState.md) | | +**change_log** | [**Changelog**](Changelog.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterActionResponse from a JSON string +cloud_router_action_response_instance = CloudRouterActionResponse.from_json(json) +# print the JSON string representation of the object +print(CloudRouterActionResponse.to_json()) + +# convert the object into a dict +cloud_router_action_response_dict = cloud_router_action_response_instance.to_dict() +# create an instance of CloudRouterActionResponse from a dict +cloud_router_action_response_form_dict = cloud_router_action_response.from_dict(cloud_router_action_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/CloudRouterActionState.md b/equinix/services/fabricv4/docs/CloudRouterActionState.md new file mode 100644 index 00000000..ba7c68f8 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterActionState.md @@ -0,0 +1,12 @@ +# CloudRouterActionState + +Cloud Router action state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterActionType.md b/equinix/services/fabricv4/docs/CloudRouterActionType.md new file mode 100644 index 00000000..f40929f1 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterActionType.md @@ -0,0 +1,12 @@ +# CloudRouterActionType + +Cloud Router action type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterChange.md b/equinix/services/fabricv4/docs/CloudRouterChange.md new file mode 100644 index 00000000..8aae874e --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterChange.md @@ -0,0 +1,36 @@ +# CloudRouterChange + +Current state of latest CloudRouter change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Uniquely identifies a change | [optional] +**type** | [**CloudRouterChangeType**](CloudRouterChangeType.md) | | +**status** | [**CloudRouterChangeStatus**](CloudRouterChangeStatus.md) | | [optional] +**created_date_time** | **datetime** | Set when change flow starts | [optional] +**updated_date_time** | **datetime** | Set when change object is updated | +**information** | **str** | Additional information | [optional] +**data** | [**CloudRouterChangeOperation**](CloudRouterChangeOperation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_change import CloudRouterChange + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterChange from a JSON string +cloud_router_change_instance = CloudRouterChange.from_json(json) +# print the JSON string representation of the object +print(CloudRouterChange.to_json()) + +# convert the object into a dict +cloud_router_change_dict = cloud_router_change_instance.to_dict() +# create an instance of CloudRouterChange from a dict +cloud_router_change_form_dict = cloud_router_change.from_dict(cloud_router_change_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/CloudRouterChangeOperation.md b/equinix/services/fabricv4/docs/CloudRouterChangeOperation.md new file mode 100644 index 00000000..1c4ae8fd --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterChangeOperation.md @@ -0,0 +1,32 @@ +# CloudRouterChangeOperation + +Fabric Cloud Router change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**PrecisionTimeChangeOperationOp**](PrecisionTimeChangeOperationOp.md) | | +**path** | **str** | path inside document leading to updated parameter | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterChangeOperation from a JSON string +cloud_router_change_operation_instance = CloudRouterChangeOperation.from_json(json) +# print the JSON string representation of the object +print(CloudRouterChangeOperation.to_json()) + +# convert the object into a dict +cloud_router_change_operation_dict = cloud_router_change_operation_instance.to_dict() +# create an instance of CloudRouterChangeOperation from a dict +cloud_router_change_operation_form_dict = cloud_router_change_operation.from_dict(cloud_router_change_operation_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/CloudRouterChangeStatus.md b/equinix/services/fabricv4/docs/CloudRouterChangeStatus.md new file mode 100644 index 00000000..4ae676ac --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterChangeStatus.md @@ -0,0 +1,12 @@ +# CloudRouterChangeStatus + +Current outcome of the change flow + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterChangeType.md b/equinix/services/fabricv4/docs/CloudRouterChangeType.md new file mode 100644 index 00000000..dd9e145d --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterChangeType.md @@ -0,0 +1,12 @@ +# CloudRouterChangeType + +Type of change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterFilter.md b/equinix/services/fabricv4/docs/CloudRouterFilter.md new file mode 100644 index 00000000..012344e3 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterFilter.md @@ -0,0 +1,32 @@ +# CloudRouterFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Possible field names to use on filters: * `/project/projectId` - project id (mandatory) * `/name` - Fabric Cloud Router name * `/uuid` - Fabric Cloud Router uuid * `/state` - Fabric Cloud Router status * `/location/metroCode` - Fabric Cloud Router metro code * `/location/metroName` - Fabric Cloud Router metro name * `/package/code` - Fabric Cloud Router package * `/*` - all-category search | [optional] +**operator** | **str** | Possible operators to use on filters: * `=` - equal * `!=` - not equal * `>` - greater than * `>=` - greater than or equal to * `<` - less than * `<=` - less than or equal to * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `ILIKE` - case-insensitive like | [optional] +**values** | **List[str]** | | [optional] +**var_or** | [**List[CloudRouterSimpleExpression]**](CloudRouterSimpleExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_filter import CloudRouterFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterFilter from a JSON string +cloud_router_filter_instance = CloudRouterFilter.from_json(json) +# print the JSON string representation of the object +print(CloudRouterFilter.to_json()) + +# convert the object into a dict +cloud_router_filter_dict = cloud_router_filter_instance.to_dict() +# create an instance of CloudRouterFilter from a dict +cloud_router_filter_form_dict = cloud_router_filter.from_dict(cloud_router_filter_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/CloudRouterFilters.md b/equinix/services/fabricv4/docs/CloudRouterFilters.md new file mode 100644 index 00000000..aa22adad --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterFilters.md @@ -0,0 +1,29 @@ +# CloudRouterFilters + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[CloudRouterFilter]**](CloudRouterFilter.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_filters import CloudRouterFilters + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterFilters from a JSON string +cloud_router_filters_instance = CloudRouterFilters.from_json(json) +# print the JSON string representation of the object +print(CloudRouterFilters.to_json()) + +# convert the object into a dict +cloud_router_filters_dict = cloud_router_filters_instance.to_dict() +# create an instance of CloudRouterFilters from a dict +cloud_router_filters_form_dict = cloud_router_filters.from_dict(cloud_router_filters_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/CloudRouterOrFilter.md b/equinix/services/fabricv4/docs/CloudRouterOrFilter.md new file mode 100644 index 00000000..ed1c6851 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterOrFilter.md @@ -0,0 +1,29 @@ +# CloudRouterOrFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_or** | [**List[CloudRouterSimpleExpression]**](CloudRouterSimpleExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_or_filter import CloudRouterOrFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterOrFilter from a JSON string +cloud_router_or_filter_instance = CloudRouterOrFilter.from_json(json) +# print the JSON string representation of the object +print(CloudRouterOrFilter.to_json()) + +# convert the object into a dict +cloud_router_or_filter_dict = cloud_router_or_filter_instance.to_dict() +# create an instance of CloudRouterOrFilter from a dict +cloud_router_or_filter_form_dict = cloud_router_or_filter.from_dict(cloud_router_or_filter_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/CloudRouterPackage.md b/equinix/services/fabricv4/docs/CloudRouterPackage.md new file mode 100644 index 00000000..d2906ef1 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPackage.md @@ -0,0 +1,46 @@ +# CloudRouterPackage + +Fabric Cloud Router Package + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Cloud Router package URI | [optional] [readonly] +**type** | [**CloudRouterPackageType**](CloudRouterPackageType.md) | | [optional] +**code** | [**Code**](Code.md) | | [optional] +**description** | **str** | Fabric Cloud Router Package description | [optional] +**total_ipv4_routes_max** | **int** | Cloud Router package BGP IPv4 routes limit | [optional] +**total_ipv6_routes_max** | **int** | Cloud Router package BGP IPv6 routes limit | [optional] +**static_ipv4_routes_max** | **int** | CloudRouter package static IPv4 routes limit | [optional] +**static_ipv6_routes_max** | **int** | CloudRouter package static IPv6 routes limit | [optional] +**nacls_max** | **int** | CloudRouter package NACLs limit | [optional] +**nacl_rules_max** | **int** | CloudRouter package NACLs rules limit | [optional] +**ha_supported** | **bool** | CloudRouter package high-available configuration support | [optional] +**route_filter_supported** | **bool** | CloudRouter package route filter support | [optional] +**nat_type** | [**CloudRouterPackageNatType**](CloudRouterPackageNatType.md) | | [optional] +**vc_count_max** | **int** | CloudRouter package Max Connection limit | [optional] +**cr_count_max** | **int** | CloudRouter package Max CloudRouter limit | [optional] +**vc_bandwidth_max** | **int** | CloudRouter package Max Bandwidth limit | [optional] +**change_log** | [**PackageChangeLog**](PackageChangeLog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterPackage from a JSON string +cloud_router_package_instance = CloudRouterPackage.from_json(json) +# print the JSON string representation of the object +print(CloudRouterPackage.to_json()) + +# convert the object into a dict +cloud_router_package_dict = cloud_router_package_instance.to_dict() +# create an instance of CloudRouterPackage from a dict +cloud_router_package_form_dict = cloud_router_package.from_dict(cloud_router_package_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/CloudRouterPackageNatType.md b/equinix/services/fabricv4/docs/CloudRouterPackageNatType.md new file mode 100644 index 00000000..cfae051f --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPackageNatType.md @@ -0,0 +1,12 @@ +# CloudRouterPackageNatType + +CloudRouter package NAT supported type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterPackageType.md b/equinix/services/fabricv4/docs/CloudRouterPackageType.md new file mode 100644 index 00000000..b2bede63 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPackageType.md @@ -0,0 +1,12 @@ +# CloudRouterPackageType + +Type of Router package + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterPostRequest.md b/equinix/services/fabricv4/docs/CloudRouterPostRequest.md new file mode 100644 index 00000000..08144923 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPostRequest.md @@ -0,0 +1,37 @@ +# CloudRouterPostRequest + +Create Cloud Router + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**CloudRouterPostRequestType**](CloudRouterPostRequestType.md) | | [optional] +**name** | **str** | Customer-provided Cloud Router name | [optional] +**location** | [**SimplifiedLocationWithoutIBX**](SimplifiedLocationWithoutIBX.md) | | [optional] +**package** | [**CloudRouterPostRequestPackage**](CloudRouterPostRequestPackage.md) | | [optional] +**order** | [**Order**](Order.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Preferences for notifications on connection configuration or status changes | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_post_request import CloudRouterPostRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterPostRequest from a JSON string +cloud_router_post_request_instance = CloudRouterPostRequest.from_json(json) +# print the JSON string representation of the object +print(CloudRouterPostRequest.to_json()) + +# convert the object into a dict +cloud_router_post_request_dict = cloud_router_post_request_instance.to_dict() +# create an instance of CloudRouterPostRequest from a dict +cloud_router_post_request_form_dict = cloud_router_post_request.from_dict(cloud_router_post_request_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/CloudRouterPostRequestPackage.md b/equinix/services/fabricv4/docs/CloudRouterPostRequestPackage.md new file mode 100644 index 00000000..54f1c927 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPostRequestPackage.md @@ -0,0 +1,32 @@ +# CloudRouterPostRequestPackage + +Fabric Cloud Router Package Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Fabric Cloud Router URI | [optional] +**type** | [**CloudRouterPostRequestPackageType**](CloudRouterPostRequestPackageType.md) | | [optional] +**code** | [**CloudRouterPostRequestPackageCode**](CloudRouterPostRequestPackageCode.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_post_request_package import CloudRouterPostRequestPackage + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterPostRequestPackage from a JSON string +cloud_router_post_request_package_instance = CloudRouterPostRequestPackage.from_json(json) +# print the JSON string representation of the object +print(CloudRouterPostRequestPackage.to_json()) + +# convert the object into a dict +cloud_router_post_request_package_dict = cloud_router_post_request_package_instance.to_dict() +# create an instance of CloudRouterPostRequestPackage from a dict +cloud_router_post_request_package_form_dict = cloud_router_post_request_package.from_dict(cloud_router_post_request_package_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/CloudRouterPostRequestPackageCode.md b/equinix/services/fabricv4/docs/CloudRouterPostRequestPackageCode.md new file mode 100644 index 00000000..b9db2a7a --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPostRequestPackageCode.md @@ -0,0 +1,12 @@ +# CloudRouterPostRequestPackageCode + +Cloud Router package code + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterPostRequestPackageType.md b/equinix/services/fabricv4/docs/CloudRouterPostRequestPackageType.md new file mode 100644 index 00000000..a9795cde --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPostRequestPackageType.md @@ -0,0 +1,12 @@ +# CloudRouterPostRequestPackageType + +Cloud Router package type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterPostRequestType.md b/equinix/services/fabricv4/docs/CloudRouterPostRequestType.md new file mode 100644 index 00000000..14d279e1 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterPostRequestType.md @@ -0,0 +1,11 @@ +# CloudRouterPostRequestType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterSearchRequest.md b/equinix/services/fabricv4/docs/CloudRouterSearchRequest.md new file mode 100644 index 00000000..bed87ebe --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterSearchRequest.md @@ -0,0 +1,32 @@ +# CloudRouterSearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**CloudRouterFilters**](CloudRouterFilters.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] +**sort** | [**List[CloudRouterSortCriteria]**](CloudRouterSortCriteria.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_search_request import CloudRouterSearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterSearchRequest from a JSON string +cloud_router_search_request_instance = CloudRouterSearchRequest.from_json(json) +# print the JSON string representation of the object +print(CloudRouterSearchRequest.to_json()) + +# convert the object into a dict +cloud_router_search_request_dict = cloud_router_search_request_instance.to_dict() +# create an instance of CloudRouterSearchRequest from a dict +cloud_router_search_request_form_dict = cloud_router_search_request.from_dict(cloud_router_search_request_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/CloudRouterSimpleExpression.md b/equinix/services/fabricv4/docs/CloudRouterSimpleExpression.md new file mode 100644 index 00000000..8f9e2419 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterSimpleExpression.md @@ -0,0 +1,31 @@ +# CloudRouterSimpleExpression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Possible field names to use on filters: * `/project/projectId` - project id (mandatory) * `/name` - Fabric Cloud Router name * `/uuid` - Fabric Cloud Router uuid * `/state` - Fabric Cloud Router status * `/location/metroCode` - Fabric Cloud Router metro code * `/location/metroName` - Fabric Cloud Router metro name * `/package/code` - Fabric Cloud Router package * `/*` - all-category search | [optional] +**operator** | **str** | Possible operators to use on filters: * `=` - equal * `!=` - not equal * `>` - greater than * `>=` - greater than or equal to * `<` - less than * `<=` - less than or equal to * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `ILIKE` - case-insensitive like | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_simple_expression import CloudRouterSimpleExpression + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterSimpleExpression from a JSON string +cloud_router_simple_expression_instance = CloudRouterSimpleExpression.from_json(json) +# print the JSON string representation of the object +print(CloudRouterSimpleExpression.to_json()) + +# convert the object into a dict +cloud_router_simple_expression_dict = cloud_router_simple_expression_instance.to_dict() +# create an instance of CloudRouterSimpleExpression from a dict +cloud_router_simple_expression_form_dict = cloud_router_simple_expression.from_dict(cloud_router_simple_expression_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/CloudRouterSortBy.md b/equinix/services/fabricv4/docs/CloudRouterSortBy.md new file mode 100644 index 00000000..96274e02 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterSortBy.md @@ -0,0 +1,12 @@ +# CloudRouterSortBy + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRouterSortCriteria.md b/equinix/services/fabricv4/docs/CloudRouterSortCriteria.md new file mode 100644 index 00000000..8ac49a10 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterSortCriteria.md @@ -0,0 +1,30 @@ +# CloudRouterSortCriteria + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**CloudRouterSortDirection**](CloudRouterSortDirection.md) | | [optional] +**var_property** | [**CloudRouterSortBy**](CloudRouterSortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.cloud_router_sort_criteria import CloudRouterSortCriteria + +# TODO update the JSON string below +json = "{}" +# create an instance of CloudRouterSortCriteria from a JSON string +cloud_router_sort_criteria_instance = CloudRouterSortCriteria.from_json(json) +# print the JSON string representation of the object +print(CloudRouterSortCriteria.to_json()) + +# convert the object into a dict +cloud_router_sort_criteria_dict = cloud_router_sort_criteria_instance.to_dict() +# create an instance of CloudRouterSortCriteria from a dict +cloud_router_sort_criteria_form_dict = cloud_router_sort_criteria.from_dict(cloud_router_sort_criteria_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/CloudRouterSortDirection.md b/equinix/services/fabricv4/docs/CloudRouterSortDirection.md new file mode 100644 index 00000000..3c066ecb --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRouterSortDirection.md @@ -0,0 +1,12 @@ +# CloudRouterSortDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CloudRoutersApi.md b/equinix/services/fabricv4/docs/CloudRoutersApi.md new file mode 100644 index 00000000..7c734368 --- /dev/null +++ b/equinix/services/fabricv4/docs/CloudRoutersApi.md @@ -0,0 +1,864 @@ +# equinix.services.fabricv4.CloudRoutersApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_cloud_router**](CloudRoutersApi.md#create_cloud_router) | **POST** /fabric/v4/routers | Create Routers +[**create_cloud_router_action**](CloudRoutersApi.md#create_cloud_router_action) | **POST** /fabric/v4/routers/{routerId}/actions | Route table actions +[**delete_cloud_router_by_uuid**](CloudRoutersApi.md#delete_cloud_router_by_uuid) | **DELETE** /fabric/v4/routers/{routerId} | Delete Routers +[**get_cloud_router_actions**](CloudRoutersApi.md#get_cloud_router_actions) | **GET** /fabric/v4/routers/{routerId}/actions | Get actions +[**get_cloud_router_by_uuid**](CloudRoutersApi.md#get_cloud_router_by_uuid) | **GET** /fabric/v4/routers/{routerId} | Get Routers +[**get_cloud_router_package_by_code**](CloudRoutersApi.md#get_cloud_router_package_by_code) | **GET** /fabric/v4/routerPackages/{routerPackageCode} | Get Package Details +[**get_cloud_router_packages**](CloudRoutersApi.md#get_cloud_router_packages) | **GET** /fabric/v4/routerPackages | List Packages +[**search_cloud_router_routes**](CloudRoutersApi.md#search_cloud_router_routes) | **POST** /fabric/v4/routers/{routerId}/routes/search | Search Route Table +[**search_cloud_routers**](CloudRoutersApi.md#search_cloud_routers) | **POST** /fabric/v4/routers/search | Search Routers +[**update_cloud_router_by_uuid**](CloudRoutersApi.md#update_cloud_router_by_uuid) | **PATCH** /fabric/v4/routers/{routerId} | Update Routers + + +# **create_cloud_router** +> CloudRouter create_cloud_router(cloud_router_post_request) + +Create Routers + +This API provides capability to create user's Cloud Routers + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router import CloudRouter +from equinix.services.fabricv4.models.cloud_router_post_request import CloudRouterPostRequest +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.CloudRoutersApi(api_client) + cloud_router_post_request = equinix.services.fabricv4.CloudRouterPostRequest() # CloudRouterPostRequest | + + try: + # Create Routers + api_response = api_instance.create_cloud_router(cloud_router_post_request) + print("The response of CloudRoutersApi->create_cloud_router:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->create_cloud_router: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **cloud_router_post_request** | [**CloudRouterPostRequest**](CloudRouterPostRequest.md)| | + +### Return type + +[**CloudRouter**](CloudRouter.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** | Fabric Cloud Router object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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) + +# **create_cloud_router_action** +> CloudRouterActionResponse create_cloud_router_action(router_id, cloud_router_action_request) + +Route table actions + +This API provides capability to refresh route table and bgp session summary information + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router_action_request import CloudRouterActionRequest +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse +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.CloudRoutersApi(api_client) + router_id = 'router_id_example' # str | Router UUID + cloud_router_action_request = equinix.services.fabricv4.CloudRouterActionRequest() # CloudRouterActionRequest | + + try: + # Route table actions + api_response = api_instance.create_cloud_router_action(router_id, cloud_router_action_request) + print("The response of CloudRoutersApi->create_cloud_router_action:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->create_cloud_router_action: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Router UUID | + **cloud_router_action_request** | [**CloudRouterActionRequest**](CloudRouterActionRequest.md)| | + +### Return type + +[**CloudRouterActionResponse**](CloudRouterActionResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**415** | Internal server error | - | +**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) + +# **delete_cloud_router_by_uuid** +> delete_cloud_router_by_uuid(router_id) + +Delete Routers + +This API provides capability to delete user's Cloud Routers + +### 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.CloudRoutersApi(api_client) + router_id = 'router_id_example' # str | Cloud Router UUID + + try: + # Delete Routers + api_instance.delete_cloud_router_by_uuid(router_id) + except Exception as e: + print("Exception when calling CloudRoutersApi->delete_cloud_router_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Cloud Router UUID | + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Deleted Cloud Router Successfully | - | +**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) + +# **get_cloud_router_actions** +> CloudRouterActionResponse get_cloud_router_actions(router_id, state=state) + +Get actions + +This API provides capability to fetch action status + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse +from equinix.services.fabricv4.models.cloud_router_action_state import CloudRouterActionState +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.CloudRoutersApi(api_client) + router_id = 'router_id_example' # str | Router UUID + state = equinix.services.fabricv4.CloudRouterActionState() # CloudRouterActionState | Action state (optional) + + try: + # Get actions + api_response = api_instance.get_cloud_router_actions(router_id, state=state) + print("The response of CloudRoutersApi->get_cloud_router_actions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->get_cloud_router_actions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Router UUID | + **state** | [**CloudRouterActionState**](.md)| Action state | [optional] + +### Return type + +[**CloudRouterActionResponse**](CloudRouterActionResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**415** | Internal server error | - | +**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_cloud_router_by_uuid** +> CloudRouter get_cloud_router_by_uuid(router_id) + +Get Routers + +This API provides capability to retrieve user's Cloud Routers + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router import CloudRouter +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.CloudRoutersApi(api_client) + router_id = 'router_id_example' # str | Cloud Router UUID + + try: + # Get Routers + api_response = api_instance.get_cloud_router_by_uuid(router_id) + print("The response of CloudRoutersApi->get_cloud_router_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->get_cloud_router_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Cloud Router UUID | + +### Return type + +[**CloudRouter**](CloudRouter.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** | Fabric Cloud Router object | - | +**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_cloud_router_package_by_code** +> CloudRouterPackage get_cloud_router_package_by_code(router_package_code) + +Get Package Details + +This API provides capability to retrieve user's Cloud Routers Package Details + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage +from equinix.services.fabricv4.models.router_package_code import RouterPackageCode +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.CloudRoutersApi(api_client) + router_package_code = equinix.services.fabricv4.RouterPackageCode() # RouterPackageCode | Equinix-assigned Cloud Router package identifier + + try: + # Get Package Details + api_response = api_instance.get_cloud_router_package_by_code(router_package_code) + print("The response of CloudRoutersApi->get_cloud_router_package_by_code:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->get_cloud_router_package_by_code: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_package_code** | [**RouterPackageCode**](.md)| Equinix-assigned Cloud Router package identifier | + +### Return type + +[**CloudRouterPackage**](CloudRouterPackage.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** | Fabric Cloud Router Package details | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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_cloud_router_packages** +> PackageResponse get_cloud_router_packages(offset=offset, limit=limit) + +List Packages + +This API provides capability to retrieve user's Cloud Routers Packages + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.package_response import PackageResponse +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.CloudRoutersApi(api_client) + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # List Packages + api_response = api_instance.get_cloud_router_packages(offset=offset, limit=limit) + print("The response of CloudRoutersApi->get_cloud_router_packages:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->get_cloud_router_packages: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**PackageResponse**](PackageResponse.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** | Fabric Cloud Router Packages | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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_cloud_router_routes** +> RouteTableEntrySearchResponse search_cloud_router_routes(router_id, route_table_entry_search_request) + +Search Route Table + +The API provides capability to get list of user's Fabric Cloud Router route table entries using search criteria, including optional filtering, pagination and sorting + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_table_entry_search_request import RouteTableEntrySearchRequest +from equinix.services.fabricv4.models.route_table_entry_search_response import RouteTableEntrySearchResponse +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.CloudRoutersApi(api_client) + router_id = 'router_id_example' # str | Router UUID + route_table_entry_search_request = equinix.services.fabricv4.RouteTableEntrySearchRequest() # RouteTableEntrySearchRequest | + + try: + # Search Route Table + api_response = api_instance.search_cloud_router_routes(router_id, route_table_entry_search_request) + print("The response of CloudRoutersApi->search_cloud_router_routes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->search_cloud_router_routes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Router UUID | + **route_table_entry_search_request** | [**RouteTableEntrySearchRequest**](RouteTableEntrySearchRequest.md)| | + +### Return type + +[**RouteTableEntrySearchResponse**](RouteTableEntrySearchResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**415** | Internal server error | - | +**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_cloud_routers** +> SearchResponse search_cloud_routers(cloud_router_search_request) + +Search Routers + +The API provides capability to get list of user's Cloud Routers using search criteria, including optional filtering, pagination and sorting + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router_search_request import CloudRouterSearchRequest +from equinix.services.fabricv4.models.search_response import SearchResponse +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.CloudRoutersApi(api_client) + cloud_router_search_request = equinix.services.fabricv4.CloudRouterSearchRequest() # CloudRouterSearchRequest | + + try: + # Search Routers + api_response = api_instance.search_cloud_routers(cloud_router_search_request) + print("The response of CloudRoutersApi->search_cloud_routers:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->search_cloud_routers: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **cloud_router_search_request** | [**CloudRouterSearchRequest**](CloudRouterSearchRequest.md)| | + +### Return type + +[**SearchResponse**](SearchResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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) + +# **update_cloud_router_by_uuid** +> CloudRouter update_cloud_router_by_uuid(router_id, cloud_router_change_operation) + +Update Routers + +This API provides capability to update user's Cloud Routers + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.cloud_router import CloudRouter +from equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation +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.CloudRoutersApi(api_client) + router_id = 'router_id_example' # str | Cloud Router UUID + cloud_router_change_operation = [equinix.services.fabricv4.CloudRouterChangeOperation()] # List[CloudRouterChangeOperation] | + + try: + # Update Routers + api_response = api_instance.update_cloud_router_by_uuid(router_id, cloud_router_change_operation) + print("The response of CloudRoutersApi->update_cloud_router_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CloudRoutersApi->update_cloud_router_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Cloud Router UUID | + **cloud_router_change_operation** | [**List[CloudRouterChangeOperation]**](CloudRouterChangeOperation.md)| | + +### Return type + +[**CloudRouter**](CloudRouter.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json-patch+json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Fabric Cloud Router object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**415** | Unsupported Media Type | - | +**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/Code.md b/equinix/services/fabricv4/docs/Code.md new file mode 100644 index 00000000..f1c075d2 --- /dev/null +++ b/equinix/services/fabricv4/docs/Code.md @@ -0,0 +1,12 @@ +# Code + +Cloud Router package code + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectedMetro.md b/equinix/services/fabricv4/docs/ConnectedMetro.md new file mode 100644 index 00000000..279a4fed --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectedMetro.md @@ -0,0 +1,33 @@ +# ConnectedMetro + +Arrays of objects containing latency data for the specified metros + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The Canonical URL at which the resource resides. | [optional] +**code** | **str** | Code assigned to an Equinix International Business Exchange (IBX) data center in a specified metropolitan area. | [optional] +**avg_latency** | **float** | Average latency (in milliseconds[ms]) between two specified metros. | [optional] +**remote_vc_bandwidth_max** | **int** | This field holds the Max Connection speed with connected metros | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connected_metro import ConnectedMetro + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectedMetro from a JSON string +connected_metro_instance = ConnectedMetro.from_json(json) +# print the JSON string representation of the object +print(ConnectedMetro.to_json()) + +# convert the object into a dict +connected_metro_dict = connected_metro_instance.to_dict() +# create an instance of ConnectedMetro from a dict +connected_metro_form_dict = connected_metro.from_dict(connected_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/Connection.md b/equinix/services/fabricv4/docs/Connection.md new file mode 100644 index 00000000..ab0c41ed --- /dev/null +++ b/equinix/services/fabricv4/docs/Connection.md @@ -0,0 +1,50 @@ +# Connection + +Connection specification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ConnectionType**](ConnectionType.md) | | +**href** | **str** | Connection URI | [optional] [readonly] +**uuid** | **str** | Equinix-assigned connection identifier | [optional] +**name** | **str** | Customer-provided connection name | +**description** | **str** | Customer-provided connection description | [optional] +**state** | [**ConnectionState**](ConnectionState.md) | | [optional] +**change** | [**Change**](Change.md) | | [optional] +**operation** | [**ConnectionOperation**](ConnectionOperation.md) | | [optional] +**order** | [**Order**](Order.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Preferences for notifications on connection configuration or status changes | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**change_log** | [**Changelog**](Changelog.md) | | [optional] +**bandwidth** | **int** | Connection bandwidth in Mbps | +**geo_scope** | [**GeoScopeType**](GeoScopeType.md) | | [optional] +**redundancy** | [**ConnectionRedundancy**](ConnectionRedundancy.md) | | [optional] +**is_remote** | **bool** | Connection property derived from access point locations | [optional] +**direction** | [**ConnectionDirection**](ConnectionDirection.md) | | [optional] +**a_side** | [**ConnectionSide**](ConnectionSide.md) | | +**z_side** | [**ConnectionSide**](ConnectionSide.md) | | +**additional_info** | [**List[ConnectionSideAdditionalInfo]**](ConnectionSideAdditionalInfo.md) | Connection additional information | [optional] +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection import Connection + +# TODO update the JSON string below +json = "{}" +# create an instance of Connection from a JSON string +connection_instance = Connection.from_json(json) +# print the JSON string representation of the object +print(Connection.to_json()) + +# convert the object into a dict +connection_dict = connection_instance.to_dict() +# create an instance of Connection from a dict +connection_form_dict = connection.from_dict(connection_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/ConnectionAcceptanceData.md b/equinix/services/fabricv4/docs/ConnectionAcceptanceData.md new file mode 100644 index 00000000..0255d662 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionAcceptanceData.md @@ -0,0 +1,30 @@ +# ConnectionAcceptanceData + +Connection acceptance data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**z_side** | [**ConnectionSide**](ConnectionSide.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_acceptance_data import ConnectionAcceptanceData + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionAcceptanceData from a JSON string +connection_acceptance_data_instance = ConnectionAcceptanceData.from_json(json) +# print the JSON string representation of the object +print(ConnectionAcceptanceData.to_json()) + +# convert the object into a dict +connection_acceptance_data_dict = connection_acceptance_data_instance.to_dict() +# create an instance of ConnectionAcceptanceData from a dict +connection_acceptance_data_form_dict = connection_acceptance_data.from_dict(connection_acceptance_data_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/ConnectionAction.md b/equinix/services/fabricv4/docs/ConnectionAction.md new file mode 100644 index 00000000..b6a228b0 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionAction.md @@ -0,0 +1,35 @@ +# ConnectionAction + +Connection action + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**Actions**](Actions.md) | | +**href** | **str** | Connection action URI | [readonly] +**uuid** | **str** | Equinix-assigned connection identifier | +**description** | **str** | Connection rejection reason detail | [optional] +**data** | [**ConnectionAcceptanceData**](ConnectionAcceptanceData.md) | | +**change_log** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_action import ConnectionAction + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionAction from a JSON string +connection_action_instance = ConnectionAction.from_json(json) +# print the JSON string representation of the object +print(ConnectionAction.to_json()) + +# convert the object into a dict +connection_action_dict = connection_action_instance.to_dict() +# create an instance of ConnectionAction from a dict +connection_action_form_dict = connection_action.from_dict(connection_action_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/ConnectionActionRequest.md b/equinix/services/fabricv4/docs/ConnectionActionRequest.md new file mode 100644 index 00000000..d71fc69d --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionActionRequest.md @@ -0,0 +1,32 @@ +# ConnectionActionRequest + +Connection action request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**Actions**](Actions.md) | | +**description** | **str** | Connection rejection reason datail | [optional] +**data** | [**ConnectionAcceptanceData**](ConnectionAcceptanceData.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_action_request import ConnectionActionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionActionRequest from a JSON string +connection_action_request_instance = ConnectionActionRequest.from_json(json) +# print the JSON string representation of the object +print(ConnectionActionRequest.to_json()) + +# convert the object into a dict +connection_action_request_dict = connection_action_request_instance.to_dict() +# create an instance of ConnectionActionRequest from a dict +connection_action_request_form_dict = connection_action_request.from_dict(connection_action_request_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/ConnectionChangeOperation.md b/equinix/services/fabricv4/docs/ConnectionChangeOperation.md new file mode 100644 index 00000000..d3296d75 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionChangeOperation.md @@ -0,0 +1,32 @@ +# ConnectionChangeOperation + +Connection change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | **str** | Handy shortcut for operation name | +**path** | **str** | path inside document leading to updated parameter | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionChangeOperation from a JSON string +connection_change_operation_instance = ConnectionChangeOperation.from_json(json) +# print the JSON string representation of the object +print(ConnectionChangeOperation.to_json()) + +# convert the object into a dict +connection_change_operation_dict = connection_change_operation_instance.to_dict() +# create an instance of ConnectionChangeOperation from a dict +connection_change_operation_form_dict = connection_change_operation.from_dict(connection_change_operation_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/ConnectionCompanyProfile.md b/equinix/services/fabricv4/docs/ConnectionCompanyProfile.md new file mode 100644 index 00000000..976f0457 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionCompanyProfile.md @@ -0,0 +1,32 @@ +# ConnectionCompanyProfile + +Connection Company Profile Details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **float** | company profile identifier | [optional] +**name** | **str** | company profile name | [optional] +**global_org_id** | **str** | global customer organization value | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_company_profile import ConnectionCompanyProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionCompanyProfile from a JSON string +connection_company_profile_instance = ConnectionCompanyProfile.from_json(json) +# print the JSON string representation of the object +print(ConnectionCompanyProfile.to_json()) + +# convert the object into a dict +connection_company_profile_dict = connection_company_profile_instance.to_dict() +# create an instance of ConnectionCompanyProfile from a dict +connection_company_profile_form_dict = connection_company_profile.from_dict(connection_company_profile_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/ConnectionDirection.md b/equinix/services/fabricv4/docs/ConnectionDirection.md new file mode 100644 index 00000000..48ae9410 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionDirection.md @@ -0,0 +1,12 @@ +# ConnectionDirection + +Connection directionality from the requester point of view + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionInvitation.md b/equinix/services/fabricv4/docs/ConnectionInvitation.md new file mode 100644 index 00000000..a5ed1be9 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionInvitation.md @@ -0,0 +1,32 @@ +# ConnectionInvitation + +Connection Invitation Details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**email** | **str** | invitee email | [optional] +**message** | **str** | invitation message | [optional] +**ctr_draft_order_id** | **str** | draft order id for invitation | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_invitation import ConnectionInvitation + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionInvitation from a JSON string +connection_invitation_instance = ConnectionInvitation.from_json(json) +# print the JSON string representation of the object +print(ConnectionInvitation.to_json()) + +# convert the object into a dict +connection_invitation_dict = connection_invitation_instance.to_dict() +# create an instance of ConnectionInvitation from a dict +connection_invitation_form_dict = connection_invitation.from_dict(connection_invitation_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/ConnectionLink.md b/equinix/services/fabricv4/docs/ConnectionLink.md new file mode 100644 index 00000000..b593cd92 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionLink.md @@ -0,0 +1,31 @@ +# ConnectionLink + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | | [optional] +**type** | [**ConnectionLinkType**](ConnectionLinkType.md) | | [optional] +**uuid** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_link import ConnectionLink + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionLink from a JSON string +connection_link_instance = ConnectionLink.from_json(json) +# print the JSON string representation of the object +print(ConnectionLink.to_json()) + +# convert the object into a dict +connection_link_dict = connection_link_instance.to_dict() +# create an instance of ConnectionLink from a dict +connection_link_form_dict = connection_link.from_dict(connection_link_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/ConnectionLinkType.md b/equinix/services/fabricv4/docs/ConnectionLinkType.md new file mode 100644 index 00000000..42f01ce6 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionLinkType.md @@ -0,0 +1,11 @@ +# ConnectionLinkType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionOperation.md b/equinix/services/fabricv4/docs/ConnectionOperation.md new file mode 100644 index 00000000..80f90d02 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionOperation.md @@ -0,0 +1,34 @@ +# ConnectionOperation + +Connection type-specific operational data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**provider_status** | [**ProviderStatus**](ProviderStatus.md) | | [optional] +**equinix_status** | [**EquinixStatus**](EquinixStatus.md) | | [optional] +**operational_status** | [**ConnectionOperationOperationalStatus**](ConnectionOperationOperationalStatus.md) | | [optional] +**errors** | [**List[Error]**](Error.md) | | [optional] +**op_status_changed_at** | **datetime** | When connection transitioned into current operational status | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_operation import ConnectionOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionOperation from a JSON string +connection_operation_instance = ConnectionOperation.from_json(json) +# print the JSON string representation of the object +print(ConnectionOperation.to_json()) + +# convert the object into a dict +connection_operation_dict = connection_operation_instance.to_dict() +# create an instance of ConnectionOperation from a dict +connection_operation_form_dict = connection_operation.from_dict(connection_operation_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/ConnectionOperationOperationalStatus.md b/equinix/services/fabricv4/docs/ConnectionOperationOperationalStatus.md new file mode 100644 index 00000000..210316c8 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionOperationOperationalStatus.md @@ -0,0 +1,12 @@ +# ConnectionOperationOperationalStatus + +Connection operational status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionPostRequest.md b/equinix/services/fabricv4/docs/ConnectionPostRequest.md new file mode 100644 index 00000000..daace35a --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionPostRequest.md @@ -0,0 +1,40 @@ +# ConnectionPostRequest + +Create connection post request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ConnectionType**](ConnectionType.md) | | +**name** | **str** | Customer-provided connection name | +**order** | [**Order**](Order.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Preferences for notifications on connection configuration or status changes | +**bandwidth** | **int** | Connection bandwidth in Mbps | +**geo_scope** | [**GeoScopeType**](GeoScopeType.md) | | [optional] +**redundancy** | [**ConnectionRedundancy**](ConnectionRedundancy.md) | | [optional] +**a_side** | [**ConnectionSide**](ConnectionSide.md) | | +**z_side** | [**ConnectionSide**](ConnectionSide.md) | | +**project** | [**Project**](Project.md) | | [optional] +**additional_info** | [**List[ConnectionSideAdditionalInfo]**](ConnectionSideAdditionalInfo.md) | Connection additional information | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_post_request import ConnectionPostRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionPostRequest from a JSON string +connection_post_request_instance = ConnectionPostRequest.from_json(json) +# print the JSON string representation of the object +print(ConnectionPostRequest.to_json()) + +# convert the object into a dict +connection_post_request_dict = connection_post_request_instance.to_dict() +# create an instance of ConnectionPostRequest from a dict +connection_post_request_form_dict = connection_post_request.from_dict(connection_post_request_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/ConnectionPriority.md b/equinix/services/fabricv4/docs/ConnectionPriority.md new file mode 100644 index 00000000..4a809263 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionPriority.md @@ -0,0 +1,12 @@ +# ConnectionPriority + +Connection priority in redundancy group + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionRedundancy.md b/equinix/services/fabricv4/docs/ConnectionRedundancy.md new file mode 100644 index 00000000..d6b1672b --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRedundancy.md @@ -0,0 +1,31 @@ +# ConnectionRedundancy + +Connection redundancy configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**group** | **str** | Redundancy group identifier (UUID of primary connection) | [optional] +**priority** | [**ConnectionPriority**](ConnectionPriority.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_redundancy import ConnectionRedundancy + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionRedundancy from a JSON string +connection_redundancy_instance = ConnectionRedundancy.from_json(json) +# print the JSON string representation of the object +print(ConnectionRedundancy.to_json()) + +# convert the object into a dict +connection_redundancy_dict = connection_redundancy_instance.to_dict() +# create an instance of ConnectionRedundancy from a dict +connection_redundancy_form_dict = connection_redundancy.from_dict(connection_redundancy_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/ConnectionResponse.md b/equinix/services/fabricv4/docs/ConnectionResponse.md new file mode 100644 index 00000000..7637d7a3 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionResponse.md @@ -0,0 +1,31 @@ +# ConnectionResponse + +ValidateResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**additional_info** | [**List[ConnectionSideAdditionalInfo]**](ConnectionSideAdditionalInfo.md) | Additional information | [optional] +**data** | [**List[Connection]**](Connection.md) | Connection response data | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_response import ConnectionResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionResponse from a JSON string +connection_response_instance = ConnectionResponse.from_json(json) +# print the JSON string representation of the object +print(ConnectionResponse.to_json()) + +# convert the object into a dict +connection_response_dict = connection_response_instance.to_dict() +# create an instance of ConnectionResponse from a dict +connection_response_form_dict = connection_response.from_dict(connection_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/ConnectionRouteFilterData.md b/equinix/services/fabricv4/docs/ConnectionRouteFilterData.md new file mode 100644 index 00000000..0140f250 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRouteFilterData.md @@ -0,0 +1,33 @@ +# ConnectionRouteFilterData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Route Filter URI | [optional] +**type** | [**ConnectionRouteFilterDataType**](ConnectionRouteFilterDataType.md) | | [optional] +**uuid** | **str** | Route Filter identifier | [optional] +**attachment_status** | [**ConnectionRouteFilterDataAttachmentStatus**](ConnectionRouteFilterDataAttachmentStatus.md) | | [optional] +**direction** | [**ConnectionRouteFilterDataDirection**](ConnectionRouteFilterDataDirection.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionRouteFilterData from a JSON string +connection_route_filter_data_instance = ConnectionRouteFilterData.from_json(json) +# print the JSON string representation of the object +print(ConnectionRouteFilterData.to_json()) + +# convert the object into a dict +connection_route_filter_data_dict = connection_route_filter_data_instance.to_dict() +# create an instance of ConnectionRouteFilterData from a dict +connection_route_filter_data_form_dict = connection_route_filter_data.from_dict(connection_route_filter_data_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/ConnectionRouteFilterDataAttachmentStatus.md b/equinix/services/fabricv4/docs/ConnectionRouteFilterDataAttachmentStatus.md new file mode 100644 index 00000000..2c240f10 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRouteFilterDataAttachmentStatus.md @@ -0,0 +1,11 @@ +# ConnectionRouteFilterDataAttachmentStatus + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionRouteFilterDataDirection.md b/equinix/services/fabricv4/docs/ConnectionRouteFilterDataDirection.md new file mode 100644 index 00000000..77b58282 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRouteFilterDataDirection.md @@ -0,0 +1,11 @@ +# ConnectionRouteFilterDataDirection + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionRouteFilterDataType.md b/equinix/services/fabricv4/docs/ConnectionRouteFilterDataType.md new file mode 100644 index 00000000..c050f4fb --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRouteFilterDataType.md @@ -0,0 +1,12 @@ +# ConnectionRouteFilterDataType + +Route Filter type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionRouteFiltersBase.md b/equinix/services/fabricv4/docs/ConnectionRouteFiltersBase.md new file mode 100644 index 00000000..78a6edb0 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRouteFiltersBase.md @@ -0,0 +1,29 @@ +# ConnectionRouteFiltersBase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**ConnectionRouteFiltersBaseDirection**](ConnectionRouteFiltersBaseDirection.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.connection_route_filters_base import ConnectionRouteFiltersBase + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionRouteFiltersBase from a JSON string +connection_route_filters_base_instance = ConnectionRouteFiltersBase.from_json(json) +# print the JSON string representation of the object +print(ConnectionRouteFiltersBase.to_json()) + +# convert the object into a dict +connection_route_filters_base_dict = connection_route_filters_base_instance.to_dict() +# create an instance of ConnectionRouteFiltersBase from a dict +connection_route_filters_base_form_dict = connection_route_filters_base.from_dict(connection_route_filters_base_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/ConnectionRouteFiltersBaseDirection.md b/equinix/services/fabricv4/docs/ConnectionRouteFiltersBaseDirection.md new file mode 100644 index 00000000..727e7c93 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRouteFiltersBaseDirection.md @@ -0,0 +1,12 @@ +# ConnectionRouteFiltersBaseDirection + +Route Filter direction to attach to a connection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionRoutingProtocolPostRequest.md b/equinix/services/fabricv4/docs/ConnectionRoutingProtocolPostRequest.md new file mode 100644 index 00000000..b77d1781 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionRoutingProtocolPostRequest.md @@ -0,0 +1,30 @@ +# ConnectionRoutingProtocolPostRequest + +Create connection routing protocolpost request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[RoutingProtocolBase]**](RoutingProtocolBase.md) | Connection routing protocol configuration | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_routing_protocol_post_request import ConnectionRoutingProtocolPostRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionRoutingProtocolPostRequest from a JSON string +connection_routing_protocol_post_request_instance = ConnectionRoutingProtocolPostRequest.from_json(json) +# print the JSON string representation of the object +print(ConnectionRoutingProtocolPostRequest.to_json()) + +# convert the object into a dict +connection_routing_protocol_post_request_dict = connection_routing_protocol_post_request_instance.to_dict() +# create an instance of ConnectionRoutingProtocolPostRequest from a dict +connection_routing_protocol_post_request_form_dict = connection_routing_protocol_post_request.from_dict(connection_routing_protocol_post_request_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/ConnectionSearchResponse.md b/equinix/services/fabricv4/docs/ConnectionSearchResponse.md new file mode 100644 index 00000000..b5e9abe2 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionSearchResponse.md @@ -0,0 +1,32 @@ +# ConnectionSearchResponse + +List of connections + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**sort** | [**List[SortCriteriaResponse]**](SortCriteriaResponse.md) | | [optional] +**data** | [**List[Connection]**](Connection.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_search_response import ConnectionSearchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionSearchResponse from a JSON string +connection_search_response_instance = ConnectionSearchResponse.from_json(json) +# print the JSON string representation of the object +print(ConnectionSearchResponse.to_json()) + +# convert the object into a dict +connection_search_response_dict = connection_search_response_instance.to_dict() +# create an instance of ConnectionSearchResponse from a dict +connection_search_response_form_dict = connection_search_response.from_dict(connection_search_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/ConnectionSide.md b/equinix/services/fabricv4/docs/ConnectionSide.md new file mode 100644 index 00000000..99fbda9c --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionSide.md @@ -0,0 +1,35 @@ +# ConnectionSide + +Connection configuration object for each side of multi-segment connection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**service_token** | [**ServiceToken**](ServiceToken.md) | | [optional] +**access_point** | [**AccessPoint**](AccessPoint.md) | | [optional] +**internet_access** | [**InternetAccess**](InternetAccess.md) | | [optional] +**company_profile** | [**ConnectionCompanyProfile**](ConnectionCompanyProfile.md) | | [optional] +**invitation** | [**ConnectionInvitation**](ConnectionInvitation.md) | | [optional] +**additional_info** | [**List[ConnectionSideAdditionalInfo]**](ConnectionSideAdditionalInfo.md) | Any additional information, which is not part of connection metadata or configuration | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_side import ConnectionSide + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionSide from a JSON string +connection_side_instance = ConnectionSide.from_json(json) +# print the JSON string representation of the object +print(ConnectionSide.to_json()) + +# convert the object into a dict +connection_side_dict = connection_side_instance.to_dict() +# create an instance of ConnectionSide from a dict +connection_side_form_dict = connection_side.from_dict(connection_side_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/ConnectionSideAdditionalInfo.md b/equinix/services/fabricv4/docs/ConnectionSideAdditionalInfo.md new file mode 100644 index 00000000..24c04e58 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionSideAdditionalInfo.md @@ -0,0 +1,31 @@ +# ConnectionSideAdditionalInfo + +Additional information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | Key | [optional] +**value** | **str** | Value | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectionSideAdditionalInfo from a JSON string +connection_side_additional_info_instance = ConnectionSideAdditionalInfo.from_json(json) +# print the JSON string representation of the object +print(ConnectionSideAdditionalInfo.to_json()) + +# convert the object into a dict +connection_side_additional_info_dict = connection_side_additional_info_instance.to_dict() +# create an instance of ConnectionSideAdditionalInfo from a dict +connection_side_additional_info_form_dict = connection_side_additional_info.from_dict(connection_side_additional_info_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/ConnectionState.md b/equinix/services/fabricv4/docs/ConnectionState.md new file mode 100644 index 00000000..23f8a5df --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionState.md @@ -0,0 +1,12 @@ +# ConnectionState + +Connection status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionType.md b/equinix/services/fabricv4/docs/ConnectionType.md new file mode 100644 index 00000000..6835c4df --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionType.md @@ -0,0 +1,12 @@ +# ConnectionType + +Connection type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ConnectionsApi.md b/equinix/services/fabricv4/docs/ConnectionsApi.md new file mode 100644 index 00000000..b73a3063 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectionsApi.md @@ -0,0 +1,597 @@ +# equinix.services.fabricv4.ConnectionsApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_connection**](ConnectionsApi.md#create_connection) | **POST** /fabric/v4/connections | Create Connection +[**create_connection_action**](ConnectionsApi.md#create_connection_action) | **POST** /fabric/v4/connections/{connectionId}/actions | Connection Actions +[**delete_connection_by_uuid**](ConnectionsApi.md#delete_connection_by_uuid) | **DELETE** /fabric/v4/connections/{connectionId} | Delete by ID +[**get_connection_by_uuid**](ConnectionsApi.md#get_connection_by_uuid) | **GET** /fabric/v4/connections/{connectionId} | Get Connection by ID +[**search_connections**](ConnectionsApi.md#search_connections) | **POST** /fabric/v4/connections/search | Search connections +[**update_connection_by_uuid**](ConnectionsApi.md#update_connection_by_uuid) | **PATCH** /fabric/v4/connections/{connectionId} | Update by ID +[**validate_connections**](ConnectionsApi.md#validate_connections) | **POST** /fabric/v4/connections/validate | Validate Connection + + +# **create_connection** +> Connection create_connection(connection_post_request) + +Create Connection + +This API provides capability to create user's virtual connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_post_request import ConnectionPostRequest +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.ConnectionsApi(api_client) + connection_post_request = equinix.services.fabricv4.ConnectionPostRequest() # ConnectionPostRequest | + + try: + # Create Connection + api_response = api_instance.create_connection(connection_post_request) + print("The response of ConnectionsApi->create_connection:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->create_connection: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_post_request** | [**ConnectionPostRequest**](ConnectionPostRequest.md)| | + +### Return type + +[**Connection**](Connection.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** | Accept Connection Request | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**405** | Method not allowed | - | + +[[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_connection_action** +> ConnectionAction create_connection_action(connection_id, connection_action_request) + +Connection Actions + +This API provides capability to accept/reject user's virtual connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_action import ConnectionAction +from equinix.services.fabricv4.models.connection_action_request import ConnectionActionRequest +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.ConnectionsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + connection_action_request = equinix.services.fabricv4.ConnectionActionRequest() # ConnectionActionRequest | + + try: + # Connection Actions + api_response = api_instance.create_connection_action(connection_id, connection_action_request) + print("The response of ConnectionsApi->create_connection_action:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->create_connection_action: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **connection_action_request** | [**ConnectionActionRequest**](ConnectionActionRequest.md)| | + +### Return type + +[**ConnectionAction**](ConnectionAction.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**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) + +# **delete_connection_by_uuid** +> Connection delete_connection_by_uuid(connection_id) + +Delete by ID + +Delete Connection by ID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection import Connection +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.ConnectionsApi(api_client) + connection_id = 'connection_id_example' # str | Connection UUID + + try: + # Delete by ID + api_response = api_instance.delete_connection_by_uuid(connection_id) + print("The response of ConnectionsApi->delete_connection_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->delete_connection_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection UUID | + +### Return type + +[**Connection**](Connection.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** | Delete Connection Request | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**405** | Method not allowed | - | + +[[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_connection_by_uuid** +> Connection get_connection_by_uuid(connection_id, direction=direction) + +Get Connection by ID + +The API provides capability to get user's virtual connection details (Service Tokens, Access Points, Link Protocols, etc) by it's connection ID (UUID) + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_direction import ConnectionDirection +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.ConnectionsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + direction = equinix.services.fabricv4.ConnectionDirection() # ConnectionDirection | Connection Direction (optional) + + try: + # Get Connection by ID + api_response = api_instance.get_connection_by_uuid(connection_id, direction=direction) + print("The response of ConnectionsApi->get_connection_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->get_connection_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **direction** | [**ConnectionDirection**](.md)| Connection Direction | [optional] + +### Return type + +[**Connection**](Connection.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_connections** +> ConnectionSearchResponse search_connections(search_request) + +Search connections + +The API provides capability to get list of user's virtual connections using search criteria, including optional filtering, pagination and sorting + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_search_response import ConnectionSearchResponse +from equinix.services.fabricv4.models.search_request import SearchRequest +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.ConnectionsApi(api_client) + search_request = equinix.services.fabricv4.SearchRequest() # SearchRequest | + + try: + # Search connections + api_response = api_instance.search_connections(search_request) + print("The response of ConnectionsApi->search_connections:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->search_connections: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **search_request** | [**SearchRequest**](SearchRequest.md)| | + +### Return type + +[**ConnectionSearchResponse**](ConnectionSearchResponse.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 | - | +**401** | Unauthorized | - | +**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) + +# **update_connection_by_uuid** +> Connection update_connection_by_uuid(connection_id, connection_change_operation) + +Update by ID + +Update Connection by ID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +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.ConnectionsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + connection_change_operation = [equinix.services.fabricv4.ConnectionChangeOperation()] # List[ConnectionChangeOperation] | + + try: + # Update by ID + api_response = api_instance.update_connection_by_uuid(connection_id, connection_change_operation) + print("The response of ConnectionsApi->update_connection_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->update_connection_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **connection_change_operation** | [**List[ConnectionChangeOperation]**](ConnectionChangeOperation.md)| | + +### Return type + +[**Connection**](Connection.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json-patch+json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**401** | Unauthorized | - | +**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) + +# **validate_connections** +> ConnectionResponse validate_connections(validate_request) + +Validate Connection + +This API provides capability to validate by auth key + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_response import ConnectionResponse +from equinix.services.fabricv4.models.validate_request import ValidateRequest +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.ConnectionsApi(api_client) + validate_request = equinix.services.fabricv4.ValidateRequest() # ValidateRequest | + + try: + # Validate Connection + api_response = api_instance.validate_connections(validate_request) + print("The response of ConnectionsApi->validate_connections:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ConnectionsApi->validate_connections: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **validate_request** | [**ValidateRequest**](ValidateRequest.md)| | + +### Return type + +[**ConnectionResponse**](ConnectionResponse.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 | - | + +[[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/ConnectivitySource.md b/equinix/services/fabricv4/docs/ConnectivitySource.md new file mode 100644 index 00000000..ba8659de --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectivitySource.md @@ -0,0 +1,30 @@ +# ConnectivitySource + +Physical or virtual port that houses the connection. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ConnectivitySourceType**](ConnectivitySourceType.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.connectivity_source import ConnectivitySource + +# TODO update the JSON string below +json = "{}" +# create an instance of ConnectivitySource from a JSON string +connectivity_source_instance = ConnectivitySource.from_json(json) +# print the JSON string representation of the object +print(ConnectivitySource.to_json()) + +# convert the object into a dict +connectivity_source_dict = connectivity_source_instance.to_dict() +# create an instance of ConnectivitySource from a dict +connectivity_source_form_dict = connectivity_source.from_dict(connectivity_source_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/ConnectivitySourceType.md b/equinix/services/fabricv4/docs/ConnectivitySourceType.md new file mode 100644 index 00000000..18aeee22 --- /dev/null +++ b/equinix/services/fabricv4/docs/ConnectivitySourceType.md @@ -0,0 +1,12 @@ +# ConnectivitySourceType + +Type of connectivity. COLO, colocation; BMMR, building meet-me room. The default is COLO.
A building meet-me room (BMMR) is a room within the same building where an Equinix IBX customer can connect with a non-Equinix IBX customer. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/CustomField.md b/equinix/services/fabricv4/docs/CustomField.md new file mode 100644 index 00000000..428b6f37 --- /dev/null +++ b/equinix/services/fabricv4/docs/CustomField.md @@ -0,0 +1,35 @@ +# CustomField + +Define Custom Attributes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**label** | **str** | | +**description** | **str** | | +**required** | **bool** | | [optional] +**data_type** | [**CustomFieldDataType**](CustomFieldDataType.md) | | +**options** | **List[str]** | | [optional] +**capture_in_email** | **bool** | capture this field as a part of email notification | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.custom_field import CustomField + +# TODO update the JSON string below +json = "{}" +# create an instance of CustomField from a JSON string +custom_field_instance = CustomField.from_json(json) +# print the JSON string representation of the object +print(CustomField.to_json()) + +# convert the object into a dict +custom_field_dict = custom_field_instance.to_dict() +# create an instance of CustomField from a dict +custom_field_form_dict = custom_field.from_dict(custom_field_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/CustomFieldDataType.md b/equinix/services/fabricv4/docs/CustomFieldDataType.md new file mode 100644 index 00000000..8d769ad9 --- /dev/null +++ b/equinix/services/fabricv4/docs/CustomFieldDataType.md @@ -0,0 +1,11 @@ +# CustomFieldDataType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/DirectConnectionIpv4.md b/equinix/services/fabricv4/docs/DirectConnectionIpv4.md new file mode 100644 index 00000000..f5ea3a7b --- /dev/null +++ b/equinix/services/fabricv4/docs/DirectConnectionIpv4.md @@ -0,0 +1,29 @@ +# DirectConnectionIpv4 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**equinix_iface_ip** | **str** | Equinix side Interface IP address | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.direct_connection_ipv4 import DirectConnectionIpv4 + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectConnectionIpv4 from a JSON string +direct_connection_ipv4_instance = DirectConnectionIpv4.from_json(json) +# print the JSON string representation of the object +print(DirectConnectionIpv4.to_json()) + +# convert the object into a dict +direct_connection_ipv4_dict = direct_connection_ipv4_instance.to_dict() +# create an instance of DirectConnectionIpv4 from a dict +direct_connection_ipv4_form_dict = direct_connection_ipv4.from_dict(direct_connection_ipv4_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/DirectConnectionIpv6.md b/equinix/services/fabricv4/docs/DirectConnectionIpv6.md new file mode 100644 index 00000000..3e1557d4 --- /dev/null +++ b/equinix/services/fabricv4/docs/DirectConnectionIpv6.md @@ -0,0 +1,29 @@ +# DirectConnectionIpv6 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**equinix_iface_ip** | **str** | Equinix side Interface IP address | + +## Example + +```python +from equinix.services.fabricv4.models.direct_connection_ipv6 import DirectConnectionIpv6 + +# TODO update the JSON string below +json = "{}" +# create an instance of DirectConnectionIpv6 from a JSON string +direct_connection_ipv6_instance = DirectConnectionIpv6.from_json(json) +# print the JSON string representation of the object +print(DirectConnectionIpv6.to_json()) + +# convert the object into a dict +direct_connection_ipv6_dict = direct_connection_ipv6_instance.to_dict() +# create an instance of DirectConnectionIpv6 from a dict +direct_connection_ipv6_form_dict = direct_connection_ipv6.from_dict(direct_connection_ipv6_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/Direction.md b/equinix/services/fabricv4/docs/Direction.md new file mode 100644 index 00000000..ec6dd6fe --- /dev/null +++ b/equinix/services/fabricv4/docs/Direction.md @@ -0,0 +1,32 @@ +# Direction + +Directional statistics + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**max** | **float** | Max bandwidth within request time range, represented in units specified by response \"units\" field | [optional] +**mean** | **float** | Mean bandwidth within request time range, represented in units specified by response \"units\" field | [optional] +**metrics** | [**List[Metrics]**](Metrics.md) | Bandwidth utilization statistics for a specified interval. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.direction import Direction + +# TODO update the JSON string below +json = "{}" +# create an instance of Direction from a JSON string +direction_instance = Direction.from_json(json) +# print the JSON string representation of the object +print(Direction.to_json()) + +# convert the object into a dict +direction_dict = direction_instance.to_dict() +# create an instance of Direction from a dict +direction_form_dict = direction.from_dict(direction_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/Duration.md b/equinix/services/fabricv4/docs/Duration.md new file mode 100644 index 00000000..01a949a4 --- /dev/null +++ b/equinix/services/fabricv4/docs/Duration.md @@ -0,0 +1,12 @@ +# Duration + +Duration of the statistical analysis interval. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/EquinixStatus.md b/equinix/services/fabricv4/docs/EquinixStatus.md new file mode 100644 index 00000000..421ca38f --- /dev/null +++ b/equinix/services/fabricv4/docs/EquinixStatus.md @@ -0,0 +1,12 @@ +# EquinixStatus + +Connection status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Error.md b/equinix/services/fabricv4/docs/Error.md new file mode 100644 index 00000000..215b2a10 --- /dev/null +++ b/equinix/services/fabricv4/docs/Error.md @@ -0,0 +1,35 @@ +# Error + +Error Response with details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | **str** | | +**error_message** | **str** | | +**correlation_id** | **str** | | [optional] +**details** | **str** | | [optional] +**help** | **str** | | [optional] +**additional_info** | [**List[PriceErrorAdditionalInfo]**](PriceErrorAdditionalInfo.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.error import Error + +# TODO update the JSON string below +json = "{}" +# create an instance of Error from a JSON string +error_instance = Error.from_json(json) +# print the JSON string representation of the object +print(Error.to_json()) + +# convert the object into a dict +error_dict = error_instance.to_dict() +# create an instance of Error from a dict +error_form_dict = error.from_dict(error_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/Expression.md b/equinix/services/fabricv4/docs/Expression.md new file mode 100644 index 00000000..17413175 --- /dev/null +++ b/equinix/services/fabricv4/docs/Expression.md @@ -0,0 +1,33 @@ +# Expression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[Expression]**](Expression.md) | | [optional] +**var_or** | [**List[Expression]**](Expression.md) | | [optional] +**var_property** | [**SearchFieldName**](SearchFieldName.md) | | [optional] +**operator** | [**ExpressionOperator**](ExpressionOperator.md) | | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.expression import Expression + +# TODO update the JSON string below +json = "{}" +# create an instance of Expression from a JSON string +expression_instance = Expression.from_json(json) +# print the JSON string representation of the object +print(Expression.to_json()) + +# convert the object into a dict +expression_dict = expression_instance.to_dict() +# create an instance of Expression from a dict +expression_form_dict = expression.from_dict(expression_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/ExpressionOperator.md b/equinix/services/fabricv4/docs/ExpressionOperator.md new file mode 100644 index 00000000..509cdc84 --- /dev/null +++ b/equinix/services/fabricv4/docs/ExpressionOperator.md @@ -0,0 +1,11 @@ +# ExpressionOperator + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/FabricCloudRouterCode.md b/equinix/services/fabricv4/docs/FabricCloudRouterCode.md new file mode 100644 index 00000000..c8a7bcc9 --- /dev/null +++ b/equinix/services/fabricv4/docs/FabricCloudRouterCode.md @@ -0,0 +1,12 @@ +# FabricCloudRouterCode + +Cloud Router code + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/FabricCloudRouterPackages.md b/equinix/services/fabricv4/docs/FabricCloudRouterPackages.md new file mode 100644 index 00000000..23f846b5 --- /dev/null +++ b/equinix/services/fabricv4/docs/FabricCloudRouterPackages.md @@ -0,0 +1,30 @@ +# FabricCloudRouterPackages + +Cloud Router package + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**FabricCloudRouterCode**](FabricCloudRouterCode.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.fabric_cloud_router_packages import FabricCloudRouterPackages + +# TODO update the JSON string below +json = "{}" +# create an instance of FabricCloudRouterPackages from a JSON string +fabric_cloud_router_packages_instance = FabricCloudRouterPackages.from_json(json) +# print the JSON string representation of the object +print(FabricCloudRouterPackages.to_json()) + +# convert the object into a dict +fabric_cloud_router_packages_dict = fabric_cloud_router_packages_instance.to_dict() +# create an instance of FabricCloudRouterPackages from a dict +fabric_cloud_router_packages_form_dict = fabric_cloud_router_packages.from_dict(fabric_cloud_router_packages_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/FabricCloudRouterPrice.md b/equinix/services/fabricv4/docs/FabricCloudRouterPrice.md new file mode 100644 index 00000000..437011f5 --- /dev/null +++ b/equinix/services/fabricv4/docs/FabricCloudRouterPrice.md @@ -0,0 +1,32 @@ +# FabricCloudRouterPrice + +Cloud Router Product configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Unique identifier assigned to the Cloud Router | [optional] +**location** | [**PriceLocation**](PriceLocation.md) | | [optional] +**package** | [**FabricCloudRouterPackages**](FabricCloudRouterPackages.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.fabric_cloud_router_price import FabricCloudRouterPrice + +# TODO update the JSON string below +json = "{}" +# create an instance of FabricCloudRouterPrice from a JSON string +fabric_cloud_router_price_instance = FabricCloudRouterPrice.from_json(json) +# print the JSON string representation of the object +print(FabricCloudRouterPrice.to_json()) + +# convert the object into a dict +fabric_cloud_router_price_dict = fabric_cloud_router_price_instance.to_dict() +# create an instance of FabricCloudRouterPrice from a dict +fabric_cloud_router_price_form_dict = fabric_cloud_router_price.from_dict(fabric_cloud_router_price_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/FabricConnectionUuid.md b/equinix/services/fabricv4/docs/FabricConnectionUuid.md new file mode 100644 index 00000000..38b2c2ae --- /dev/null +++ b/equinix/services/fabricv4/docs/FabricConnectionUuid.md @@ -0,0 +1,32 @@ +# FabricConnectionUuid + +UUID of the Fabric Connection Instance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | uuid of the Fabric L2 connection | +**href** | **str** | the href for the L2 connection | [optional] +**type** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.fabric_connection_uuid import FabricConnectionUuid + +# TODO update the JSON string below +json = "{}" +# create an instance of FabricConnectionUuid from a JSON string +fabric_connection_uuid_instance = FabricConnectionUuid.from_json(json) +# print the JSON string representation of the object +print(FabricConnectionUuid.to_json()) + +# convert the object into a dict +fabric_connection_uuid_dict = fabric_connection_uuid_instance.to_dict() +# create an instance of FabricConnectionUuid from a dict +fabric_connection_uuid_form_dict = fabric_connection_uuid.from_dict(fabric_connection_uuid_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/FilterBody.md b/equinix/services/fabricv4/docs/FilterBody.md new file mode 100644 index 00000000..5f3d446d --- /dev/null +++ b/equinix/services/fabricv4/docs/FilterBody.md @@ -0,0 +1,30 @@ +# FilterBody + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**SearchExpression**](SearchExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.filter_body import FilterBody + +# TODO update the JSON string below +json = "{}" +# create an instance of FilterBody from a JSON string +filter_body_instance = FilterBody.from_json(json) +# print the JSON string representation of the object +print(FilterBody.to_json()) + +# convert the object into a dict +filter_body_dict = filter_body_instance.to_dict() +# create an instance of FilterBody from a dict +filter_body_form_dict = filter_body.from_dict(filter_body_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/GeoCoordinates.md b/equinix/services/fabricv4/docs/GeoCoordinates.md new file mode 100644 index 00000000..2781a2e1 --- /dev/null +++ b/equinix/services/fabricv4/docs/GeoCoordinates.md @@ -0,0 +1,31 @@ +# GeoCoordinates + +Geographic location data of Fabric Metro + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**latitude** | **float** | Latitude of a Fabric Metro | [optional] +**longitude** | **float** | Longitude of a Fabric Metro | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.geo_coordinates import GeoCoordinates + +# TODO update the JSON string below +json = "{}" +# create an instance of GeoCoordinates from a JSON string +geo_coordinates_instance = GeoCoordinates.from_json(json) +# print the JSON string representation of the object +print(GeoCoordinates.to_json()) + +# convert the object into a dict +geo_coordinates_dict = geo_coordinates_instance.to_dict() +# create an instance of GeoCoordinates from a dict +geo_coordinates_form_dict = geo_coordinates.from_dict(geo_coordinates_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/GeoScopeType.md b/equinix/services/fabricv4/docs/GeoScopeType.md new file mode 100644 index 00000000..2f138511 --- /dev/null +++ b/equinix/services/fabricv4/docs/GeoScopeType.md @@ -0,0 +1,12 @@ +# GeoScopeType + +Geographic boundary types + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/GetAllConnectionRouteFiltersResponse.md b/equinix/services/fabricv4/docs/GetAllConnectionRouteFiltersResponse.md new file mode 100644 index 00000000..28eb655b --- /dev/null +++ b/equinix/services/fabricv4/docs/GetAllConnectionRouteFiltersResponse.md @@ -0,0 +1,30 @@ +# GetAllConnectionRouteFiltersResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[ConnectionRouteFilterData]**](ConnectionRouteFilterData.md) | List of Route Filters attached to a Connection | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.get_all_connection_route_filters_response import GetAllConnectionRouteFiltersResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetAllConnectionRouteFiltersResponse from a JSON string +get_all_connection_route_filters_response_instance = GetAllConnectionRouteFiltersResponse.from_json(json) +# print the JSON string representation of the object +print(GetAllConnectionRouteFiltersResponse.to_json()) + +# convert the object into a dict +get_all_connection_route_filters_response_dict = get_all_connection_route_filters_response_instance.to_dict() +# create an instance of GetAllConnectionRouteFiltersResponse from a dict +get_all_connection_route_filters_response_form_dict = get_all_connection_route_filters_response.from_dict(get_all_connection_route_filters_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/GetResponse.md b/equinix/services/fabricv4/docs/GetResponse.md new file mode 100644 index 00000000..7d095c6a --- /dev/null +++ b/equinix/services/fabricv4/docs/GetResponse.md @@ -0,0 +1,30 @@ +# GetResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RoutingProtocolData]**](RoutingProtocolData.md) | List of Routing Protocols | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.get_response import GetResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetResponse from a JSON string +get_response_instance = GetResponse.from_json(json) +# print the JSON string representation of the object +print(GetResponse.to_json()) + +# convert the object into a dict +get_response_dict = get_response_instance.to_dict() +# create an instance of GetResponse from a dict +get_response_form_dict = get_response.from_dict(get_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/GetRouteFilterGetConnectionsResponse.md b/equinix/services/fabricv4/docs/GetRouteFilterGetConnectionsResponse.md new file mode 100644 index 00000000..2ad7cd6c --- /dev/null +++ b/equinix/services/fabricv4/docs/GetRouteFilterGetConnectionsResponse.md @@ -0,0 +1,30 @@ +# GetRouteFilterGetConnectionsResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RouteFilterConnectionsData]**](RouteFilterConnectionsData.md) | List of Connections using a Route Filter | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.get_route_filter_get_connections_response import GetRouteFilterGetConnectionsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRouteFilterGetConnectionsResponse from a JSON string +get_route_filter_get_connections_response_instance = GetRouteFilterGetConnectionsResponse.from_json(json) +# print the JSON string representation of the object +print(GetRouteFilterGetConnectionsResponse.to_json()) + +# convert the object into a dict +get_route_filter_get_connections_response_dict = get_route_filter_get_connections_response_instance.to_dict() +# create an instance of GetRouteFilterGetConnectionsResponse from a dict +get_route_filter_get_connections_response_form_dict = get_route_filter_get_connections_response.from_dict(get_route_filter_get_connections_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/GetRouteFilterRulesResponse.md b/equinix/services/fabricv4/docs/GetRouteFilterRulesResponse.md new file mode 100644 index 00000000..02f676bb --- /dev/null +++ b/equinix/services/fabricv4/docs/GetRouteFilterRulesResponse.md @@ -0,0 +1,30 @@ +# GetRouteFilterRulesResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RouteFilterRulesData]**](RouteFilterRulesData.md) | List of Route Filter Rules | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.get_route_filter_rules_response import GetRouteFilterRulesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetRouteFilterRulesResponse from a JSON string +get_route_filter_rules_response_instance = GetRouteFilterRulesResponse.from_json(json) +# print the JSON string representation of the object +print(GetRouteFilterRulesResponse.to_json()) + +# convert the object into a dict +get_route_filter_rules_response_dict = get_route_filter_rules_response_instance.to_dict() +# create an instance of GetRouteFilterRulesResponse from a dict +get_route_filter_rules_response_form_dict = get_route_filter_rules_response.from_dict(get_route_filter_rules_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/GetServiceProfilesViewPointParameter.md b/equinix/services/fabricv4/docs/GetServiceProfilesViewPointParameter.md new file mode 100644 index 00000000..b2c2ed78 --- /dev/null +++ b/equinix/services/fabricv4/docs/GetServiceProfilesViewPointParameter.md @@ -0,0 +1,11 @@ +# GetServiceProfilesViewPointParameter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/GetTimeServicesPackageByCodePackageCodeParameter.md b/equinix/services/fabricv4/docs/GetTimeServicesPackageByCodePackageCodeParameter.md new file mode 100644 index 00000000..452daad2 --- /dev/null +++ b/equinix/services/fabricv4/docs/GetTimeServicesPackageByCodePackageCodeParameter.md @@ -0,0 +1,11 @@ +# GetTimeServicesPackageByCodePackageCodeParameter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/HealthApi.md b/equinix/services/fabricv4/docs/HealthApi.md new file mode 100644 index 00000000..8b6af461 --- /dev/null +++ b/equinix/services/fabricv4/docs/HealthApi.md @@ -0,0 +1,83 @@ +# equinix.services.fabricv4.HealthApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_status**](HealthApi.md#get_status) | **GET** /fabric/v4/health | Get service status + + +# **get_status** +> HealthResponse get_status() + +Get service status + +GET All service health statys with an option query parameter to return all Equinix Fabric customer in which the customer has a presence. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.health_response import HealthResponse +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.HealthApi(api_client) + + try: + # Get service status + api_response = api_instance.get_status() + print("The response of HealthApi->get_status:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling HealthApi->get_status: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**HealthResponse**](HealthResponse.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 | - | + +[[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/HealthResponse.md b/equinix/services/fabricv4/docs/HealthResponse.md new file mode 100644 index 00000000..6bf20206 --- /dev/null +++ b/equinix/services/fabricv4/docs/HealthResponse.md @@ -0,0 +1,34 @@ +# HealthResponse + +GET Services Health + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The Canonical URL at which the resource resides. | [optional] +**version** | **str** | Indicator of a version | [optional] +**release** | **str** | release details. | [optional] +**state** | **str** | status of a service | [optional] +**api_services** | [**ApiServices**](ApiServices.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.health_response import HealthResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of HealthResponse from a JSON string +health_response_instance = HealthResponse.from_json(json) +# print the JSON string representation of the object +print(HealthResponse.to_json()) + +# convert the object into a dict +health_response_dict = health_response_instance.to_dict() +# create an instance of HealthResponse from a dict +health_response_form_dict = health_response.from_dict(health_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/Interface.md b/equinix/services/fabricv4/docs/Interface.md new file mode 100644 index 00000000..0aafb02b --- /dev/null +++ b/equinix/services/fabricv4/docs/Interface.md @@ -0,0 +1,34 @@ +# Interface + +Interface Information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Interface URI | [optional] [readonly] +**uuid** | **str** | Equinix-assigned Interface identifier | [optional] +**id** | **int** | Interface id | [optional] +**type** | [**InterfaceType**](InterfaceType.md) | | [optional] +**project_id** | **str** | Interface Project ID | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.interface import Interface + +# TODO update the JSON string below +json = "{}" +# create an instance of Interface from a JSON string +interface_instance = Interface.from_json(json) +# print the JSON string representation of the object +print(Interface.to_json()) + +# convert the object into a dict +interface_dict = interface_instance.to_dict() +# create an instance of Interface from a dict +interface_form_dict = interface.from_dict(interface_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/InterfaceType.md b/equinix/services/fabricv4/docs/InterfaceType.md new file mode 100644 index 00000000..af50f80a --- /dev/null +++ b/equinix/services/fabricv4/docs/InterfaceType.md @@ -0,0 +1,12 @@ +# InterfaceType + +Interface type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/InternetAccess.md b/equinix/services/fabricv4/docs/InternetAccess.md new file mode 100644 index 00000000..63161b25 --- /dev/null +++ b/equinix/services/fabricv4/docs/InternetAccess.md @@ -0,0 +1,30 @@ +# InternetAccess + +Internet Access Details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Internet Access Service Identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.internet_access import InternetAccess + +# TODO update the JSON string below +json = "{}" +# create an instance of InternetAccess from a JSON string +internet_access_instance = InternetAccess.from_json(json) +# print the JSON string representation of the object +print(InternetAccess.to_json()) + +# convert the object into a dict +internet_access_dict = internet_access_instance.to_dict() +# create an instance of InternetAccess from a dict +internet_access_form_dict = internet_access.from_dict(internet_access_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/IpBlockPrice.md b/equinix/services/fabricv4/docs/IpBlockPrice.md new file mode 100644 index 00000000..f8a94264 --- /dev/null +++ b/equinix/services/fabricv4/docs/IpBlockPrice.md @@ -0,0 +1,33 @@ +# IpBlockPrice + +IP Block Product configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Either uuid or rest of attributes are required | [optional] +**type** | [**IpBlockType**](IpBlockType.md) | | [optional] +**prefix_length** | **int** | | [optional] +**location** | [**PriceLocation**](PriceLocation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.ip_block_price import IpBlockPrice + +# TODO update the JSON string below +json = "{}" +# create an instance of IpBlockPrice from a JSON string +ip_block_price_instance = IpBlockPrice.from_json(json) +# print the JSON string representation of the object +print(IpBlockPrice.to_json()) + +# convert the object into a dict +ip_block_price_dict = ip_block_price_instance.to_dict() +# create an instance of IpBlockPrice from a dict +ip_block_price_form_dict = ip_block_price.from_dict(ip_block_price_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/IpBlockType.md b/equinix/services/fabricv4/docs/IpBlockType.md new file mode 100644 index 00000000..c55d2295 --- /dev/null +++ b/equinix/services/fabricv4/docs/IpBlockType.md @@ -0,0 +1,12 @@ +# IpBlockType + +IP Block type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Ipv4.md b/equinix/services/fabricv4/docs/Ipv4.md new file mode 100644 index 00000000..cbcc1c87 --- /dev/null +++ b/equinix/services/fabricv4/docs/Ipv4.md @@ -0,0 +1,33 @@ +# Ipv4 + +EPT service network information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**primary** | **str** | | [optional] +**secondary** | **str** | | [optional] +**network_mask** | **str** | | [optional] +**default_gateway** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.ipv4 import Ipv4 + +# TODO update the JSON string below +json = "{}" +# create an instance of Ipv4 from a JSON string +ipv4_instance = Ipv4.from_json(json) +# print the JSON string representation of the object +print(Ipv4.to_json()) + +# convert the object into a dict +ipv4_dict = ipv4_instance.to_dict() +# create an instance of Ipv4 from a dict +ipv4_form_dict = ipv4.from_dict(ipv4_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/JsonPatchOperation.md b/equinix/services/fabricv4/docs/JsonPatchOperation.md new file mode 100644 index 00000000..68145957 --- /dev/null +++ b/equinix/services/fabricv4/docs/JsonPatchOperation.md @@ -0,0 +1,32 @@ +# JsonPatchOperation + +Service Profile Access Points + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**OpEnum**](OpEnum.md) | | +**path** | **str** | A JSON Pointer path. | +**value** | **object** | value to replace with | + +## Example + +```python +from equinix.services.fabricv4.models.json_patch_operation import JsonPatchOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of JsonPatchOperation from a JSON string +json_patch_operation_instance = JsonPatchOperation.from_json(json) +# print the JSON string representation of the object +print(JsonPatchOperation.to_json()) + +# convert the object into a dict +json_patch_operation_dict = json_patch_operation_instance.to_dict() +# create an instance of JsonPatchOperation from a dict +json_patch_operation_form_dict = json_patch_operation.from_dict(json_patch_operation_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/Link.md b/equinix/services/fabricv4/docs/Link.md new file mode 100644 index 00000000..e643342f --- /dev/null +++ b/equinix/services/fabricv4/docs/Link.md @@ -0,0 +1,33 @@ +# Link + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Resource URI | [optional] [readonly] +**rel** | **str** | OperationId from Swagger hub spec | [optional] +**method** | **str** | Http method type | [optional] +**content_type** | **str** | Content type for the response | [optional] +**authenticate** | **bool** | Authentication required or not | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link import Link + +# TODO update the JSON string below +json = "{}" +# create an instance of Link from a JSON string +link_instance = Link.from_json(json) +# print the JSON string representation of the object +print(Link.to_json()) + +# convert the object into a dict +link_dict = link_instance.to_dict() +# create an instance of Link from a dict +link_form_dict = link.from_dict(link_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/LinkAggregationGroup.md b/equinix/services/fabricv4/docs/LinkAggregationGroup.md new file mode 100644 index 00000000..e207ab57 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkAggregationGroup.md @@ -0,0 +1,30 @@ +# LinkAggregationGroup + +Link aggregation group (LAG) preferences and settings. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | Parameter showing whether LAG configuration is mandatory. The default is false. | [optional] [default to False] + +## Example + +```python +from equinix.services.fabricv4.models.link_aggregation_group import LinkAggregationGroup + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkAggregationGroup from a JSON string +link_aggregation_group_instance = LinkAggregationGroup.from_json(json) +# print the JSON string representation of the object +print(LinkAggregationGroup.to_json()) + +# convert the object into a dict +link_aggregation_group_dict = link_aggregation_group_instance.to_dict() +# create an instance of LinkAggregationGroup from a dict +link_aggregation_group_form_dict = link_aggregation_group.from_dict(link_aggregation_group_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/LinkProtocol.md b/equinix/services/fabricv4/docs/LinkProtocol.md new file mode 100644 index 00000000..90c71718 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocol.md @@ -0,0 +1,46 @@ +# LinkProtocol + +Connection link protocol Configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | +**ipv4** | [**LinkProtocolIpv4Ipv6Config**](LinkProtocolIpv4Ipv6Config.md) | | [optional] +**ipv6** | [**LinkProtocolIpv4Ipv6Config**](LinkProtocolIpv4Ipv6Config.md) | | [optional] +**tag_protocol_id** | **str** | Tag protocol identifier | [optional] +**vlan_tag** | **str** | VLAN tag | +**vlan_tag_min** | **int** | VLAN tag Min value specified for DOT1Q connections | [optional] +**vlan_tag_max** | **int** | VLAN tag Max value specified for DOT1Q connections | [optional] +**inner_tag_protocol_id** | **int** | Inner tag protocol identifier | +**outer_tag_protocol_id** | **int** | Outer tag protocol identifier | +**vlan_c_tag** | **int** | Inner tag, i.e., C-VLAN tag | +**vlan_s_tag** | **int** | Outer tag, i.e., S-VLAN tag | +**vlan_c_tag_min** | **int** | Outer tag Min value specified for QINQ connections | [optional] +**vlan_c_tag_max** | **int** | Outer tag Max value specified for QINQ connections | [optional] +**sub_interface** | **int** | Subinterface identifier | [optional] +**vni** | **int** | Virtual Network Identifier | +**vnid** | **int** | Virtual Network Identifier | +**type5vni** | **int** | Type 5 VNI identifier | + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol import LinkProtocol + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocol from a JSON string +link_protocol_instance = LinkProtocol.from_json(json) +# print the JSON string representation of the object +print(LinkProtocol.to_json()) + +# convert the object into a dict +link_protocol_dict = link_protocol_instance.to_dict() +# create an instance of LinkProtocol from a dict +link_protocol_form_dict = link_protocol.from_dict(link_protocol_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/LinkProtocolConnection.md b/equinix/services/fabricv4/docs/LinkProtocolConnection.md new file mode 100644 index 00000000..4d75b4f7 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolConnection.md @@ -0,0 +1,33 @@ +# LinkProtocolConnection + +Connection details of Link Protocol + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Connection URI | [optional] [readonly] +**uuid** | **str** | | [optional] +**type** | **str** | | [optional] +**bandwidth** | **int** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_connection import LinkProtocolConnection + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolConnection from a JSON string +link_protocol_connection_instance = LinkProtocolConnection.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolConnection.to_json()) + +# convert the object into a dict +link_protocol_connection_dict = link_protocol_connection_instance.to_dict() +# create an instance of LinkProtocolConnection from a dict +link_protocol_connection_form_dict = link_protocol_connection.from_dict(link_protocol_connection_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/LinkProtocolDot1q.md b/equinix/services/fabricv4/docs/LinkProtocolDot1q.md new file mode 100644 index 00000000..29f88e93 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolDot1q.md @@ -0,0 +1,34 @@ +# LinkProtocolDot1q + +Connection link protocol configuration - DOT1Q + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | [optional] +**tag_protocol_id** | **str** | Tag protocol identifier | [optional] +**vlan_tag** | **str** | VLAN tag | +**vlan_tag_min** | **int** | VLAN tag Min value specified for DOT1Q connections | [optional] +**vlan_tag_max** | **int** | VLAN tag Max value specified for DOT1Q connections | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_dot1q import LinkProtocolDot1q + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolDot1q from a JSON string +link_protocol_dot1q_instance = LinkProtocolDot1q.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolDot1q.to_json()) + +# convert the object into a dict +link_protocol_dot1q_dict = link_protocol_dot1q_instance.to_dict() +# create an instance of LinkProtocolDot1q from a dict +link_protocol_dot1q_form_dict = link_protocol_dot1q.from_dict(link_protocol_dot1q_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/LinkProtocolEvpnVxlan.md b/equinix/services/fabricv4/docs/LinkProtocolEvpnVxlan.md new file mode 100644 index 00000000..0416c371 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolEvpnVxlan.md @@ -0,0 +1,32 @@ +# LinkProtocolEvpnVxlan + +Connection link protocol configuration - EVPN_VXLAN + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | [optional] +**vnid** | **int** | Virtual Network Identifier | +**type5vni** | **int** | Type 5 VNI identifier | + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_evpn_vxlan import LinkProtocolEvpnVxlan + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolEvpnVxlan from a JSON string +link_protocol_evpn_vxlan_instance = LinkProtocolEvpnVxlan.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolEvpnVxlan.to_json()) + +# convert the object into a dict +link_protocol_evpn_vxlan_dict = link_protocol_evpn_vxlan_instance.to_dict() +# create an instance of LinkProtocolEvpnVxlan from a dict +link_protocol_evpn_vxlan_form_dict = link_protocol_evpn_vxlan.from_dict(link_protocol_evpn_vxlan_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/LinkProtocolGetResponse.md b/equinix/services/fabricv4/docs/LinkProtocolGetResponse.md new file mode 100644 index 00000000..d39551b6 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolGetResponse.md @@ -0,0 +1,31 @@ +# LinkProtocolGetResponse + +List of Vlans + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[LinkProtocolResponse]**](LinkProtocolResponse.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_get_response import LinkProtocolGetResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolGetResponse from a JSON string +link_protocol_get_response_instance = LinkProtocolGetResponse.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolGetResponse.to_json()) + +# convert the object into a dict +link_protocol_get_response_dict = link_protocol_get_response_instance.to_dict() +# create an instance of LinkProtocolGetResponse from a dict +link_protocol_get_response_form_dict = link_protocol_get_response.from_dict(link_protocol_get_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/LinkProtocolIpv4Ipv6Config.md b/equinix/services/fabricv4/docs/LinkProtocolIpv4Ipv6Config.md new file mode 100644 index 00000000..8752f1d8 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolIpv4Ipv6Config.md @@ -0,0 +1,32 @@ +# LinkProtocolIpv4Ipv6Config + +IPv4 or IPv6 specific configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**link_prefix** | **str** | Link subnet prefix | [optional] +**local_iface_ip** | **str** | Prefix datatype when linkPrefix not specified | [optional] +**remote_iface_ip** | **str** | Equinix-side link interface address | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config import LinkProtocolIpv4Ipv6Config + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolIpv4Ipv6Config from a JSON string +link_protocol_ipv4_ipv6_config_instance = LinkProtocolIpv4Ipv6Config.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolIpv4Ipv6Config.to_json()) + +# convert the object into a dict +link_protocol_ipv4_ipv6_config_dict = link_protocol_ipv4_ipv6_config_instance.to_dict() +# create an instance of LinkProtocolIpv4Ipv6Config from a dict +link_protocol_ipv4_ipv6_config_form_dict = link_protocol_ipv4_ipv6_config.from_dict(link_protocol_ipv4_ipv6_config_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/LinkProtocolQinq.md b/equinix/services/fabricv4/docs/LinkProtocolQinq.md new file mode 100644 index 00000000..a2d99307 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolQinq.md @@ -0,0 +1,37 @@ +# LinkProtocolQinq + +Connection link protocol configuration - QINQ + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | [optional] +**inner_tag_protocol_id** | **int** | Inner tag protocol identifier | +**outer_tag_protocol_id** | **int** | Outer tag protocol identifier | +**vlan_c_tag** | **int** | Inner tag, i.e., C-VLAN tag | +**vlan_s_tag** | **int** | Outer tag, i.e., S-VLAN tag | +**vlan_c_tag_min** | **int** | Outer tag Min value specified for QINQ connections | [optional] +**vlan_c_tag_max** | **int** | Outer tag Max value specified for QINQ connections | [optional] +**sub_interface** | **int** | Subinterface identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_qinq import LinkProtocolQinq + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolQinq from a JSON string +link_protocol_qinq_instance = LinkProtocolQinq.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolQinq.to_json()) + +# convert the object into a dict +link_protocol_qinq_dict = link_protocol_qinq_instance.to_dict() +# create an instance of LinkProtocolQinq from a dict +link_protocol_qinq_form_dict = link_protocol_qinq.from_dict(link_protocol_qinq_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/LinkProtocolRequestType.md b/equinix/services/fabricv4/docs/LinkProtocolRequestType.md new file mode 100644 index 00000000..03445348 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolRequestType.md @@ -0,0 +1,12 @@ +# LinkProtocolRequestType + +Type of Link Protocol + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/LinkProtocolResponse.md b/equinix/services/fabricv4/docs/LinkProtocolResponse.md new file mode 100644 index 00000000..922570cf --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolResponse.md @@ -0,0 +1,45 @@ +# LinkProtocolResponse + +Link Protocol response + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | LinkProtocol URI | [optional] [readonly] +**uuid** | **str** | Equinix-assigned network identifier | [optional] +**state** | [**LinkProtocolState**](LinkProtocolState.md) | | [optional] +**type** | [**LinkProtocolRequestType**](LinkProtocolRequestType.md) | | [optional] +**vlan_tag** | **int** | | [optional] +**vni** | **int** | | [optional] +**vlan_tag_min** | **int** | | [optional] +**vlan_tag_max** | **int** | | [optional] +**vlan_s_tag** | **int** | | [optional] +**vlan_c_tag** | **int** | | [optional] +**vlan_c_tag_min** | **int** | | [optional] +**vlan_c_tag_max** | **int** | | [optional] +**sub_interface** | [**SubInterface**](SubInterface.md) | | [optional] +**asset** | [**LinkProtocolConnection**](LinkProtocolConnection.md) | | [optional] +**service_token** | [**LinkProtocolServiceToken**](LinkProtocolServiceToken.md) | | [optional] +**change_log** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_response import LinkProtocolResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolResponse from a JSON string +link_protocol_response_instance = LinkProtocolResponse.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolResponse.to_json()) + +# convert the object into a dict +link_protocol_response_dict = link_protocol_response_instance.to_dict() +# create an instance of LinkProtocolResponse from a dict +link_protocol_response_form_dict = link_protocol_response.from_dict(link_protocol_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/LinkProtocolServiceToken.md b/equinix/services/fabricv4/docs/LinkProtocolServiceToken.md new file mode 100644 index 00000000..3264d886 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolServiceToken.md @@ -0,0 +1,33 @@ +# LinkProtocolServiceToken + +Service Token details of Link Protocol + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Service Token URI | [optional] [readonly] +**uuid** | **str** | | [optional] +**type** | **str** | | [optional] +**bandwidth** | **int** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_service_token import LinkProtocolServiceToken + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolServiceToken from a JSON string +link_protocol_service_token_instance = LinkProtocolServiceToken.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolServiceToken.to_json()) + +# convert the object into a dict +link_protocol_service_token_dict = link_protocol_service_token_instance.to_dict() +# create an instance of LinkProtocolServiceToken from a dict +link_protocol_service_token_form_dict = link_protocol_service_token.from_dict(link_protocol_service_token_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/LinkProtocolState.md b/equinix/services/fabricv4/docs/LinkProtocolState.md new file mode 100644 index 00000000..198fc954 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolState.md @@ -0,0 +1,12 @@ +# LinkProtocolState + +Network status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/LinkProtocolType.md b/equinix/services/fabricv4/docs/LinkProtocolType.md new file mode 100644 index 00000000..4e3b0c21 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolType.md @@ -0,0 +1,12 @@ +# LinkProtocolType + +Type of Link Protocol + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/LinkProtocolUntagged.md b/equinix/services/fabricv4/docs/LinkProtocolUntagged.md new file mode 100644 index 00000000..c0871366 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolUntagged.md @@ -0,0 +1,32 @@ +# LinkProtocolUntagged + +Connection link protocol configuration - UNTAGGED + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | [optional] +**ipv4** | [**LinkProtocolIpv4Ipv6Config**](LinkProtocolIpv4Ipv6Config.md) | | [optional] +**ipv6** | [**LinkProtocolIpv4Ipv6Config**](LinkProtocolIpv4Ipv6Config.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_untagged import LinkProtocolUntagged + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolUntagged from a JSON string +link_protocol_untagged_instance = LinkProtocolUntagged.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolUntagged.to_json()) + +# convert the object into a dict +link_protocol_untagged_dict = link_protocol_untagged_instance.to_dict() +# create an instance of LinkProtocolUntagged from a dict +link_protocol_untagged_form_dict = link_protocol_untagged.from_dict(link_protocol_untagged_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/LinkProtocolVxlan.md b/equinix/services/fabricv4/docs/LinkProtocolVxlan.md new file mode 100644 index 00000000..312baeb3 --- /dev/null +++ b/equinix/services/fabricv4/docs/LinkProtocolVxlan.md @@ -0,0 +1,31 @@ +# LinkProtocolVxlan + +Connection link protocol configuration - VXLAN + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | [optional] +**vni** | **int** | Virtual Network Identifier | + +## Example + +```python +from equinix.services.fabricv4.models.link_protocol_vxlan import LinkProtocolVxlan + +# TODO update the JSON string below +json = "{}" +# create an instance of LinkProtocolVxlan from a JSON string +link_protocol_vxlan_instance = LinkProtocolVxlan.from_json(json) +# print the JSON string representation of the object +print(LinkProtocolVxlan.to_json()) + +# convert the object into a dict +link_protocol_vxlan_dict = link_protocol_vxlan_instance.to_dict() +# create an instance of LinkProtocolVxlan from a dict +link_protocol_vxlan_form_dict = link_protocol_vxlan.from_dict(link_protocol_vxlan_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/MarketingInfo.md b/equinix/services/fabricv4/docs/MarketingInfo.md new file mode 100644 index 00000000..e48e9899 --- /dev/null +++ b/equinix/services/fabricv4/docs/MarketingInfo.md @@ -0,0 +1,31 @@ +# MarketingInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**logo** | **str** | Logo file name | [optional] +**promotion** | **bool** | Profile promotion on marketplace | [optional] +**process_steps** | [**List[ProcessStep]**](ProcessStep.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.marketing_info import MarketingInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of MarketingInfo from a JSON string +marketing_info_instance = MarketingInfo.from_json(json) +# print the JSON string representation of the object +print(MarketingInfo.to_json()) + +# convert the object into a dict +marketing_info_dict = marketing_info_instance.to_dict() +# create an instance of MarketingInfo from a dict +marketing_info_form_dict = marketing_info.from_dict(marketing_info_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/Md5.md b/equinix/services/fabricv4/docs/Md5.md new file mode 100644 index 00000000..4d295838 --- /dev/null +++ b/equinix/services/fabricv4/docs/Md5.md @@ -0,0 +1,31 @@ +# Md5 + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**Md5Type**](Md5Type.md) | | [optional] +**id** | **str** | | [optional] +**password** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.md5 import Md5 + +# TODO update the JSON string below +json = "{}" +# create an instance of Md5 from a JSON string +md5_instance = Md5.from_json(json) +# print the JSON string representation of the object +print(Md5.to_json()) + +# convert the object into a dict +md5_dict = md5_instance.to_dict() +# create an instance of Md5 from a dict +md5_form_dict = md5.from_dict(md5_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/Md5Type.md b/equinix/services/fabricv4/docs/Md5Type.md new file mode 100644 index 00000000..86038958 --- /dev/null +++ b/equinix/services/fabricv4/docs/Md5Type.md @@ -0,0 +1,11 @@ +# Md5Type + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/MetalInterconnection.md b/equinix/services/fabricv4/docs/MetalInterconnection.md new file mode 100644 index 00000000..dc0e034b --- /dev/null +++ b/equinix/services/fabricv4/docs/MetalInterconnection.md @@ -0,0 +1,30 @@ +# MetalInterconnection + +Metal Interconnection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Equinix Metal Interconnection | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.metal_interconnection import MetalInterconnection + +# TODO update the JSON string below +json = "{}" +# create an instance of MetalInterconnection from a JSON string +metal_interconnection_instance = MetalInterconnection.from_json(json) +# print the JSON string representation of the object +print(MetalInterconnection.to_json()) + +# convert the object into a dict +metal_interconnection_dict = metal_interconnection_instance.to_dict() +# create an instance of MetalInterconnection from a dict +metal_interconnection_form_dict = metal_interconnection.from_dict(metal_interconnection_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/MetricInterval.md b/equinix/services/fabricv4/docs/MetricInterval.md new file mode 100644 index 00000000..2319dcd1 --- /dev/null +++ b/equinix/services/fabricv4/docs/MetricInterval.md @@ -0,0 +1,12 @@ +# MetricInterval + +metric interval + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Metrics.md b/equinix/services/fabricv4/docs/Metrics.md new file mode 100644 index 00000000..4843d6aa --- /dev/null +++ b/equinix/services/fabricv4/docs/Metrics.md @@ -0,0 +1,32 @@ +# Metrics + +Bandwidth utilization statistics for a specified interval. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**interval_end_timestamp** | **datetime** | Interval end timestamp | [optional] +**max** | **float** | Max bandwidth within statistics object time interval, represented in units specified by response \"units\" field | [optional] +**mean** | **float** | Mean bandwidth within statistics object time interval, represented in units specified by response \"units\" field | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.metrics import Metrics + +# TODO update the JSON string below +json = "{}" +# create an instance of Metrics from a JSON string +metrics_instance = Metrics.from_json(json) +# print the JSON string representation of the object +print(Metrics.to_json()) + +# convert the object into a dict +metrics_dict = metrics_instance.to_dict() +# create an instance of Metrics from a dict +metrics_form_dict = metrics.from_dict(metrics_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/Metro.md b/equinix/services/fabricv4/docs/Metro.md new file mode 100644 index 00000000..5e6d5f62 --- /dev/null +++ b/equinix/services/fabricv4/docs/Metro.md @@ -0,0 +1,39 @@ +# 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. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The Canonical URL at which the resource resides. | [optional] +**type** | **str** | Indicator of a Fabric Metro | [optional] +**code** | **str** | Code Assigned to an Equinix IBX data center in a specified metropolitan area. | [optional] +**region** | **str** | Board geographic area in which the data center is located | [optional] +**name** | **str** | Name of the region in which the data center is located. | [optional] +**equinix_asn** | **int** | Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. | [optional] +**local_vc_bandwidth_max** | **int** | This field holds Max Connection speed with in the metro | [optional] +**geo_coordinates** | [**GeoCoordinates**](GeoCoordinates.md) | | [optional] +**connected_metros** | [**List[ConnectedMetro]**](ConnectedMetro.md) | | [optional] +**geo_scopes** | [**List[GeoScopeType]**](GeoScopeType.md) | List of supported geographic boundaries of a Fabric Metro. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.metro import Metro + +# TODO update the JSON string below +json = "{}" +# create an instance of Metro from a JSON string +metro_instance = Metro.from_json(json) +# print the JSON string representation of the object +print(Metro.to_json()) + +# convert the object into a dict +metro_dict = metro_instance.to_dict() +# create an instance of Metro from a dict +metro_form_dict = metro.from_dict(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/MetroError.md b/equinix/services/fabricv4/docs/MetroError.md new file mode 100644 index 00000000..aef5c2eb --- /dev/null +++ b/equinix/services/fabricv4/docs/MetroError.md @@ -0,0 +1,35 @@ +# MetroError + +Error with details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | [**MetroErrorErrorCode**](MetroErrorErrorCode.md) | | +**error_message** | [**MetroErrorErrorMessage**](MetroErrorErrorMessage.md) | | +**correlation_id** | **str** | | [optional] +**details** | **str** | | [optional] +**help** | **str** | | [optional] +**additional_info** | [**List[PriceErrorAdditionalInfo]**](PriceErrorAdditionalInfo.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.metro_error import MetroError + +# TODO update the JSON string below +json = "{}" +# create an instance of MetroError from a JSON string +metro_error_instance = MetroError.from_json(json) +# print the JSON string representation of the object +print(MetroError.to_json()) + +# convert the object into a dict +metro_error_dict = metro_error_instance.to_dict() +# create an instance of MetroError from a dict +metro_error_form_dict = metro_error.from_dict(metro_error_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/MetroErrorErrorCode.md b/equinix/services/fabricv4/docs/MetroErrorErrorCode.md new file mode 100644 index 00000000..f66aebe9 --- /dev/null +++ b/equinix/services/fabricv4/docs/MetroErrorErrorCode.md @@ -0,0 +1,11 @@ +# MetroErrorErrorCode + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/MetroErrorErrorMessage.md b/equinix/services/fabricv4/docs/MetroErrorErrorMessage.md new file mode 100644 index 00000000..ab98b691 --- /dev/null +++ b/equinix/services/fabricv4/docs/MetroErrorErrorMessage.md @@ -0,0 +1,11 @@ +# MetroErrorErrorMessage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/MetroResponse.md b/equinix/services/fabricv4/docs/MetroResponse.md new file mode 100644 index 00000000..d99da912 --- /dev/null +++ b/equinix/services/fabricv4/docs/MetroResponse.md @@ -0,0 +1,31 @@ +# 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. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[Metro]**](Metro.md) | List of Fabric Metros. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.metro_response import MetroResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of MetroResponse from a JSON string +metro_response_instance = MetroResponse.from_json(json) +# print the JSON string representation of the object +print(MetroResponse.to_json()) + +# convert the object into a dict +metro_response_dict = metro_response_instance.to_dict() +# create an instance of MetroResponse from a dict +metro_response_form_dict = metro_response.from_dict(metro_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/MetrosApi.md b/equinix/services/fabricv4/docs/MetrosApi.md new file mode 100644 index 00000000..68fa6b3a --- /dev/null +++ b/equinix/services/fabricv4/docs/MetrosApi.md @@ -0,0 +1,177 @@ +# equinix.services.fabricv4.MetrosApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_metro_by_code**](MetrosApi.md#get_metro_by_code) | **GET** /fabric/v4/metros/{metroCode} | Get Metro by Code +[**get_metros**](MetrosApi.md#get_metros) | **GET** /fabric/v4/metros | Get all Metros + + +# **get_metro_by_code** +> Metro get_metro_by_code(metro_code) + +Get Metro by Code + +GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location. . + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.metro import Metro +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.MetrosApi(api_client) + metro_code = 'metro_code_example' # str | Metro Code + + try: + # Get Metro by Code + api_response = api_instance.get_metro_by_code(metro_code) + print("The response of MetrosApi->get_metro_by_code:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MetrosApi->get_metro_by_code: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metro_code** | **str**| Metro Code | + +### Return type + +[**Metro**](Metro.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 | - | +**401** | Unauthorized | - | +**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_metros** +> MetroResponse get_metros(presence=presence, offset=offset, limit=limit) + +Get all Metros + +GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.metro_response import MetroResponse +from equinix.services.fabricv4.models.presence import Presence +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.MetrosApi(api_client) + presence = equinix.services.fabricv4.Presence() # Presence | User On Boarded Metros based on Fabric resource availability (optional) + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # Get all Metros + api_response = api_instance.get_metros(presence=presence, offset=offset, limit=limit) + print("The response of MetrosApi->get_metros:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MetrosApi->get_metros: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **presence** | [**Presence**](.md)| User On Boarded Metros based on Fabric resource availability | [optional] + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**MetroResponse**](MetroResponse.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 | - | +**401** | Unauthorized | - | +**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/Network.md b/equinix/services/fabricv4/docs/Network.md new file mode 100644 index 00000000..353ef431 --- /dev/null +++ b/equinix/services/fabricv4/docs/Network.md @@ -0,0 +1,44 @@ +# Network + +Network specification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**NetworkType**](NetworkType.md) | | +**name** | **str** | Customer-provided network name | +**scope** | [**NetworkScope**](NetworkScope.md) | | +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Preferences for notifications on network configuration or status changes | +**href** | **str** | Network URI | [readonly] +**uuid** | **str** | Equinix-assigned network identifier | +**state** | [**NetworkState**](NetworkState.md) | | +**connections_count** | **float** | number of connections created on the network | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**change** | [**SimplifiedNetworkChange**](SimplifiedNetworkChange.md) | | [optional] +**operation** | [**NetworkOperation**](NetworkOperation.md) | | [optional] +**change_log** | [**Changelog**](Changelog.md) | | +**links** | [**List[Link]**](Link.md) | Network sub-resources links | [optional] [readonly] + +## Example + +```python +from equinix.services.fabricv4.models.network import Network + +# TODO update the JSON string below +json = "{}" +# create an instance of Network from a JSON string +network_instance = Network.from_json(json) +# print the JSON string representation of the object +print(Network.to_json()) + +# convert the object into a dict +network_dict = network_instance.to_dict() +# create an instance of Network from a dict +network_form_dict = network.from_dict(network_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/NetworkChange.md b/equinix/services/fabricv4/docs/NetworkChange.md new file mode 100644 index 00000000..22e7f15a --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkChange.md @@ -0,0 +1,36 @@ +# NetworkChange + +Current state of latest network change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Network URI | [optional] [readonly] +**uuid** | **str** | Uniquely identifies a change | [optional] +**type** | [**NetworkChangeType**](NetworkChangeType.md) | | [optional] +**status** | [**NetworkChangeStatus**](NetworkChangeStatus.md) | | [optional] +**created_date_time** | **datetime** | Set when change flow starts | [optional] +**updated_date_time** | **datetime** | Set when change object is updated | [optional] +**data** | [**List[NetworkChangeOperation]**](NetworkChangeOperation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_change import NetworkChange + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkChange from a JSON string +network_change_instance = NetworkChange.from_json(json) +# print the JSON string representation of the object +print(NetworkChange.to_json()) + +# convert the object into a dict +network_change_dict = network_change_instance.to_dict() +# create an instance of NetworkChange from a dict +network_change_form_dict = network_change.from_dict(network_change_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/NetworkChangeOperation.md b/equinix/services/fabricv4/docs/NetworkChangeOperation.md new file mode 100644 index 00000000..69b4592b --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkChangeOperation.md @@ -0,0 +1,32 @@ +# NetworkChangeOperation + +Network change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**PrecisionTimeChangeOperationOp**](PrecisionTimeChangeOperationOp.md) | | +**path** | **str** | path inside document leading to updated parameter | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkChangeOperation from a JSON string +network_change_operation_instance = NetworkChangeOperation.from_json(json) +# print the JSON string representation of the object +print(NetworkChangeOperation.to_json()) + +# convert the object into a dict +network_change_operation_dict = network_change_operation_instance.to_dict() +# create an instance of NetworkChangeOperation from a dict +network_change_operation_form_dict = network_change_operation.from_dict(network_change_operation_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/NetworkChangeResponse.md b/equinix/services/fabricv4/docs/NetworkChangeResponse.md new file mode 100644 index 00000000..0d230ce4 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkChangeResponse.md @@ -0,0 +1,31 @@ +# NetworkChangeResponse + +List of network changes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[NetworkChange]**](NetworkChange.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_change_response import NetworkChangeResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkChangeResponse from a JSON string +network_change_response_instance = NetworkChangeResponse.from_json(json) +# print the JSON string representation of the object +print(NetworkChangeResponse.to_json()) + +# convert the object into a dict +network_change_response_dict = network_change_response_instance.to_dict() +# create an instance of NetworkChangeResponse from a dict +network_change_response_form_dict = network_change_response.from_dict(network_change_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/NetworkChangeStatus.md b/equinix/services/fabricv4/docs/NetworkChangeStatus.md new file mode 100644 index 00000000..5b98d565 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkChangeStatus.md @@ -0,0 +1,12 @@ +# NetworkChangeStatus + +Current outcome of the change flow + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkChangeType.md b/equinix/services/fabricv4/docs/NetworkChangeType.md new file mode 100644 index 00000000..b617a602 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkChangeType.md @@ -0,0 +1,12 @@ +# NetworkChangeType + +Type of change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkConnections.md b/equinix/services/fabricv4/docs/NetworkConnections.md new file mode 100644 index 00000000..d5eff6d1 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkConnections.md @@ -0,0 +1,31 @@ +# NetworkConnections + +List of network changes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[Connection]**](Connection.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_connections import NetworkConnections + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkConnections from a JSON string +network_connections_instance = NetworkConnections.from_json(json) +# print the JSON string representation of the object +print(NetworkConnections.to_json()) + +# convert the object into a dict +network_connections_dict = network_connections_instance.to_dict() +# create an instance of NetworkConnections from a dict +network_connections_form_dict = network_connections.from_dict(network_connections_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/NetworkEquinixStatus.md b/equinix/services/fabricv4/docs/NetworkEquinixStatus.md new file mode 100644 index 00000000..20ef30fd --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkEquinixStatus.md @@ -0,0 +1,12 @@ +# NetworkEquinixStatus + +Network status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkFilter.md b/equinix/services/fabricv4/docs/NetworkFilter.md new file mode 100644 index 00000000..b9915486 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkFilter.md @@ -0,0 +1,33 @@ +# NetworkFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[NetworkFilter]**](NetworkFilter.md) | | [optional] +**var_or** | [**List[NetworkFilter]**](NetworkFilter.md) | | [optional] +**var_property** | [**NetworkSearchFieldName**](NetworkSearchFieldName.md) | | [optional] +**operator** | [**NetworkFilterOperator**](NetworkFilterOperator.md) | | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_filter import NetworkFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkFilter from a JSON string +network_filter_instance = NetworkFilter.from_json(json) +# print the JSON string representation of the object +print(NetworkFilter.to_json()) + +# convert the object into a dict +network_filter_dict = network_filter_instance.to_dict() +# create an instance of NetworkFilter from a dict +network_filter_form_dict = network_filter.from_dict(network_filter_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/NetworkFilterOperator.md b/equinix/services/fabricv4/docs/NetworkFilterOperator.md new file mode 100644 index 00000000..adcf89e8 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkFilterOperator.md @@ -0,0 +1,11 @@ +# NetworkFilterOperator + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkOperation.md b/equinix/services/fabricv4/docs/NetworkOperation.md new file mode 100644 index 00000000..8a1a3217 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkOperation.md @@ -0,0 +1,30 @@ +# NetworkOperation + +Network operational data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**equinix_status** | [**NetworkEquinixStatus**](NetworkEquinixStatus.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_operation import NetworkOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkOperation from a JSON string +network_operation_instance = NetworkOperation.from_json(json) +# print the JSON string representation of the object +print(NetworkOperation.to_json()) + +# convert the object into a dict +network_operation_dict = network_operation_instance.to_dict() +# create an instance of NetworkOperation from a dict +network_operation_form_dict = network_operation.from_dict(network_operation_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/NetworkPostRequest.md b/equinix/services/fabricv4/docs/NetworkPostRequest.md new file mode 100644 index 00000000..ce112307 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkPostRequest.md @@ -0,0 +1,35 @@ +# NetworkPostRequest + +Create Network + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**NetworkType**](NetworkType.md) | | +**name** | **str** | Customer-provided network name | +**scope** | [**NetworkScope**](NetworkScope.md) | | +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Preferences for notifications on network configuration or status changes | + +## Example + +```python +from equinix.services.fabricv4.models.network_post_request import NetworkPostRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkPostRequest from a JSON string +network_post_request_instance = NetworkPostRequest.from_json(json) +# print the JSON string representation of the object +print(NetworkPostRequest.to_json()) + +# convert the object into a dict +network_post_request_dict = network_post_request_instance.to_dict() +# create an instance of NetworkPostRequest from a dict +network_post_request_form_dict = network_post_request.from_dict(network_post_request_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/NetworkScope.md b/equinix/services/fabricv4/docs/NetworkScope.md new file mode 100644 index 00000000..758749bf --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkScope.md @@ -0,0 +1,12 @@ +# NetworkScope + +Network scope + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkSearchFieldName.md b/equinix/services/fabricv4/docs/NetworkSearchFieldName.md new file mode 100644 index 00000000..af3155d2 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSearchFieldName.md @@ -0,0 +1,12 @@ +# NetworkSearchFieldName + +Possible field names to use on filters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkSearchRequest.md b/equinix/services/fabricv4/docs/NetworkSearchRequest.md new file mode 100644 index 00000000..787bbe33 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSearchRequest.md @@ -0,0 +1,32 @@ +# NetworkSearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**NetworkFilter**](NetworkFilter.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] +**sort** | [**List[NetworkSortCriteria]**](NetworkSortCriteria.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_search_request import NetworkSearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkSearchRequest from a JSON string +network_search_request_instance = NetworkSearchRequest.from_json(json) +# print the JSON string representation of the object +print(NetworkSearchRequest.to_json()) + +# convert the object into a dict +network_search_request_dict = network_search_request_instance.to_dict() +# create an instance of NetworkSearchRequest from a dict +network_search_request_form_dict = network_search_request.from_dict(network_search_request_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/NetworkSearchResponse.md b/equinix/services/fabricv4/docs/NetworkSearchResponse.md new file mode 100644 index 00000000..7fcdd889 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSearchResponse.md @@ -0,0 +1,32 @@ +# NetworkSearchResponse + +List of networks + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**sort** | [**List[NetworkSortCriteriaResponse]**](NetworkSortCriteriaResponse.md) | | [optional] +**data** | [**List[Network]**](Network.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_search_response import NetworkSearchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkSearchResponse from a JSON string +network_search_response_instance = NetworkSearchResponse.from_json(json) +# print the JSON string representation of the object +print(NetworkSearchResponse.to_json()) + +# convert the object into a dict +network_search_response_dict = network_search_response_instance.to_dict() +# create an instance of NetworkSearchResponse from a dict +network_search_response_form_dict = network_search_response.from_dict(network_search_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/NetworkSortBy.md b/equinix/services/fabricv4/docs/NetworkSortBy.md new file mode 100644 index 00000000..caad2e2c --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSortBy.md @@ -0,0 +1,12 @@ +# NetworkSortBy + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkSortByResponse.md b/equinix/services/fabricv4/docs/NetworkSortByResponse.md new file mode 100644 index 00000000..59b547b0 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSortByResponse.md @@ -0,0 +1,12 @@ +# NetworkSortByResponse + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkSortCriteria.md b/equinix/services/fabricv4/docs/NetworkSortCriteria.md new file mode 100644 index 00000000..525f654f --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSortCriteria.md @@ -0,0 +1,30 @@ +# NetworkSortCriteria + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**NetworkSortDirection**](NetworkSortDirection.md) | | [optional] +**var_property** | [**NetworkSortBy**](NetworkSortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_sort_criteria import NetworkSortCriteria + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkSortCriteria from a JSON string +network_sort_criteria_instance = NetworkSortCriteria.from_json(json) +# print the JSON string representation of the object +print(NetworkSortCriteria.to_json()) + +# convert the object into a dict +network_sort_criteria_dict = network_sort_criteria_instance.to_dict() +# create an instance of NetworkSortCriteria from a dict +network_sort_criteria_form_dict = network_sort_criteria.from_dict(network_sort_criteria_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/NetworkSortCriteriaResponse.md b/equinix/services/fabricv4/docs/NetworkSortCriteriaResponse.md new file mode 100644 index 00000000..4adbcd0f --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSortCriteriaResponse.md @@ -0,0 +1,30 @@ +# NetworkSortCriteriaResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**NetworkSortDirectionResponse**](NetworkSortDirectionResponse.md) | | [optional] +**var_property** | [**NetworkSortByResponse**](NetworkSortByResponse.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.network_sort_criteria_response import NetworkSortCriteriaResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of NetworkSortCriteriaResponse from a JSON string +network_sort_criteria_response_instance = NetworkSortCriteriaResponse.from_json(json) +# print the JSON string representation of the object +print(NetworkSortCriteriaResponse.to_json()) + +# convert the object into a dict +network_sort_criteria_response_dict = network_sort_criteria_response_instance.to_dict() +# create an instance of NetworkSortCriteriaResponse from a dict +network_sort_criteria_response_form_dict = network_sort_criteria_response.from_dict(network_sort_criteria_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/NetworkSortDirection.md b/equinix/services/fabricv4/docs/NetworkSortDirection.md new file mode 100644 index 00000000..4c416dde --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSortDirection.md @@ -0,0 +1,12 @@ +# NetworkSortDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkSortDirectionResponse.md b/equinix/services/fabricv4/docs/NetworkSortDirectionResponse.md new file mode 100644 index 00000000..03f853e0 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkSortDirectionResponse.md @@ -0,0 +1,12 @@ +# NetworkSortDirectionResponse + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkState.md b/equinix/services/fabricv4/docs/NetworkState.md new file mode 100644 index 00000000..b7603234 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkState.md @@ -0,0 +1,12 @@ +# NetworkState + +Network status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworkType.md b/equinix/services/fabricv4/docs/NetworkType.md new file mode 100644 index 00000000..2b397937 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworkType.md @@ -0,0 +1,12 @@ +# NetworkType + +Network type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/NetworksApi.md b/equinix/services/fabricv4/docs/NetworksApi.md new file mode 100644 index 00000000..c9800d91 --- /dev/null +++ b/equinix/services/fabricv4/docs/NetworksApi.md @@ -0,0 +1,680 @@ +# equinix.services.fabricv4.NetworksApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_network**](NetworksApi.md#create_network) | **POST** /fabric/v4/networks | Create Network +[**delete_network_by_uuid**](NetworksApi.md#delete_network_by_uuid) | **DELETE** /fabric/v4/networks/{networkId} | Delete Network By ID +[**get_connections_by_network_uuid**](NetworksApi.md#get_connections_by_network_uuid) | **GET** /fabric/v4/networks/{networkId}/connections | Get Connections +[**get_network_by_uuid**](NetworksApi.md#get_network_by_uuid) | **GET** /fabric/v4/networks/{networkId} | Get Network By ID +[**get_network_change_by_uuid**](NetworksApi.md#get_network_change_by_uuid) | **GET** /fabric/v4/networks/{networkId}/changes/{changeId} | Get Change By ID +[**get_network_changes**](NetworksApi.md#get_network_changes) | **GET** /fabric/v4/networks/{networkId}/changes | Get Network Changes +[**search_networks**](NetworksApi.md#search_networks) | **POST** /fabric/v4/networks/search | Search Network +[**update_network_by_uuid**](NetworksApi.md#update_network_by_uuid) | **PATCH** /fabric/v4/networks/{networkId} | Update Network By ID + + +# **create_network** +> Network create_network(network_post_request) + +Create Network + +This API provides capability to create user's Fabric Network + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network import Network +from equinix.services.fabricv4.models.network_post_request import NetworkPostRequest +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.NetworksApi(api_client) + network_post_request = equinix.services.fabricv4.NetworkPostRequest() # NetworkPostRequest | + + try: + # Create Network + api_response = api_instance.create_network(network_post_request) + print("The response of NetworksApi->create_network:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->create_network: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_post_request** | [**NetworkPostRequest**](NetworkPostRequest.md)| | + +### Return type + +[**Network**](Network.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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) + +# **delete_network_by_uuid** +> Network delete_network_by_uuid(network_id) + +Delete Network By ID + +This API provides capability to delete user's Fabric Network + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network import Network +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.NetworksApi(api_client) + network_id = 'network_id_example' # str | Network UUID + + try: + # Delete Network By ID + api_response = api_instance.delete_network_by_uuid(network_id) + print("The response of NetworksApi->delete_network_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->delete_network_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_id** | **str**| Network UUID | + +### Return type + +[**Network**](Network.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**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_connections_by_network_uuid** +> NetworkConnections get_connections_by_network_uuid(network_id) + +Get Connections + +The API provides capability to get list of user's Fabric Network connections + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network_connections import NetworkConnections +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.NetworksApi(api_client) + network_id = 'network_id_example' # str | Network UUID + + try: + # Get Connections + api_response = api_instance.get_connections_by_network_uuid(network_id) + print("The response of NetworksApi->get_connections_by_network_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->get_connections_by_network_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_id** | **str**| Network UUID | + +### Return type + +[**NetworkConnections**](NetworkConnections.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** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | + +[[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_network_by_uuid** +> Network get_network_by_uuid(network_id) + +Get Network By ID + +This API provides capability to retrieve user's Fabric Network + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network import Network +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.NetworksApi(api_client) + network_id = 'network_id_example' # str | Network UUID + + try: + # Get Network By ID + api_response = api_instance.get_network_by_uuid(network_id) + print("The response of NetworksApi->get_network_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->get_network_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_id** | **str**| Network UUID | + +### Return type + +[**Network**](Network.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** | Fabric Network Access point object | - | +**401** | Unauthorized | - | +**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_network_change_by_uuid** +> NetworkChange get_network_change_by_uuid(network_id, change_id) + +Get Change By ID + +This API provides capability to retrieve user's Fabric Network Change + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network_change import NetworkChange +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.NetworksApi(api_client) + network_id = 'network_id_example' # str | Network UUID + change_id = 'change_id_example' # str | Network Change UUID + + try: + # Get Change By ID + api_response = api_instance.get_network_change_by_uuid(network_id, change_id) + print("The response of NetworksApi->get_network_change_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->get_network_change_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_id** | **str**| Network UUID | + **change_id** | **str**| Network Change UUID | + +### Return type + +[**NetworkChange**](NetworkChange.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** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**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_network_changes** +> NetworkChangeResponse get_network_changes(network_id) + +Get Network Changes + +The API provides capability to get list of user's Fabric Network changes + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network_change_response import NetworkChangeResponse +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.NetworksApi(api_client) + network_id = 'network_id_example' # str | Network UUID + + try: + # Get Network Changes + api_response = api_instance.get_network_changes(network_id) + print("The response of NetworksApi->get_network_changes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->get_network_changes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_id** | **str**| Network UUID | + +### Return type + +[**NetworkChangeResponse**](NetworkChangeResponse.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** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | + +[[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_networks** +> NetworkSearchResponse search_networks(network_search_request) + +Search Network + +The API provides capability to get list of user's Fabric Network using search criteria, including optional filtering, pagination and sorting + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network_search_request import NetworkSearchRequest +from equinix.services.fabricv4.models.network_search_response import NetworkSearchResponse +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.NetworksApi(api_client) + network_search_request = equinix.services.fabricv4.NetworkSearchRequest() # NetworkSearchRequest | + + try: + # Search Network + api_response = api_instance.search_networks(network_search_request) + print("The response of NetworksApi->search_networks:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->search_networks: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_search_request** | [**NetworkSearchRequest**](NetworkSearchRequest.md)| | + +### Return type + +[**NetworkSearchResponse**](NetworkSearchResponse.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** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | + +[[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) + +# **update_network_by_uuid** +> Network update_network_by_uuid(network_id, network_change_operation) + +Update Network By ID + +This API provides capability to update user's Fabric Network + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.network import Network +from equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation +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.NetworksApi(api_client) + network_id = 'network_id_example' # str | Network UUID + network_change_operation = [equinix.services.fabricv4.NetworkChangeOperation()] # List[NetworkChangeOperation] | + + try: + # Update Network By ID + api_response = api_instance.update_network_by_uuid(network_id, network_change_operation) + print("The response of NetworksApi->update_network_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling NetworksApi->update_network_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **network_id** | **str**| Network UUID | + **network_change_operation** | [**List[NetworkChangeOperation]**](NetworkChangeOperation.md)| | + +### Return type + +[**Network**](Network.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json-patch+json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Fabric Network Access point object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**415** | Unsupported Media Type | - | + +[[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/OpEnum.md b/equinix/services/fabricv4/docs/OpEnum.md new file mode 100644 index 00000000..c16c5363 --- /dev/null +++ b/equinix/services/fabricv4/docs/OpEnum.md @@ -0,0 +1,12 @@ +# OpEnum + +the operation to be performed + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Order.md b/equinix/services/fabricv4/docs/Order.md new file mode 100644 index 00000000..e99b29ca --- /dev/null +++ b/equinix/services/fabricv4/docs/Order.md @@ -0,0 +1,33 @@ +# Order + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**purchase_order_number** | **str** | Purchase order number | [optional] +**customer_reference_number** | **str** | Customer reference number | [optional] +**billing_tier** | **str** | Billing tier for connection bandwidth | [optional] +**order_id** | **str** | Order Identification | [optional] +**order_number** | **str** | Order Reference Number | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.order import Order + +# TODO update the JSON string below +json = "{}" +# create an instance of Order from a JSON string +order_instance = Order.from_json(json) +# print the JSON string representation of the object +print(Order.to_json()) + +# convert the object into a dict +order_dict = order_instance.to_dict() +# create an instance of Order from a dict +order_form_dict = order.from_dict(order_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/PackageChangeLog.md b/equinix/services/fabricv4/docs/PackageChangeLog.md new file mode 100644 index 00000000..faf03006 --- /dev/null +++ b/equinix/services/fabricv4/docs/PackageChangeLog.md @@ -0,0 +1,31 @@ +# PackageChangeLog + +Cloud Router package change log + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_date_time** | **datetime** | | [optional] +**updated_date_time** | **datetime** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.package_change_log import PackageChangeLog + +# TODO update the JSON string below +json = "{}" +# create an instance of PackageChangeLog from a JSON string +package_change_log_instance = PackageChangeLog.from_json(json) +# print the JSON string representation of the object +print(PackageChangeLog.to_json()) + +# convert the object into a dict +package_change_log_dict = package_change_log_instance.to_dict() +# create an instance of PackageChangeLog from a dict +package_change_log_form_dict = package_change_log.from_dict(package_change_log_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/PackageResponse.md b/equinix/services/fabricv4/docs/PackageResponse.md new file mode 100644 index 00000000..5027e548 --- /dev/null +++ b/equinix/services/fabricv4/docs/PackageResponse.md @@ -0,0 +1,30 @@ +# PackageResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[CloudRouterPackage]**](CloudRouterPackage.md) | Data returned from the API call. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.package_response import PackageResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PackageResponse from a JSON string +package_response_instance = PackageResponse.from_json(json) +# print the JSON string representation of the object +print(PackageResponse.to_json()) + +# convert the object into a dict +package_response_dict = package_response_instance.to_dict() +# create an instance of PackageResponse from a dict +package_response_form_dict = package_response.from_dict(package_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/Pagination.md b/equinix/services/fabricv4/docs/Pagination.md new file mode 100644 index 00000000..f83b007f --- /dev/null +++ b/equinix/services/fabricv4/docs/Pagination.md @@ -0,0 +1,34 @@ +# Pagination + +Pagination response information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**offset** | **int** | Index of the first item returned in the response. The default is 0. | [optional] [default to 0] +**limit** | **int** | Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20. | [default to 20] +**total** | **int** | Total number of elements returned. | +**next** | **str** | URL relative to the next item in the response. | [optional] +**previous** | **str** | URL relative to the previous item in the response. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.pagination import Pagination + +# TODO update the JSON string below +json = "{}" +# create an instance of Pagination from a JSON string +pagination_instance = Pagination.from_json(json) +# print the JSON string representation of the object +print(Pagination.to_json()) + +# convert the object into a dict +pagination_dict = pagination_instance.to_dict() +# create an instance of Pagination from a dict +pagination_form_dict = pagination.from_dict(pagination_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/PaginationRequest.md b/equinix/services/fabricv4/docs/PaginationRequest.md new file mode 100644 index 00000000..71eb633e --- /dev/null +++ b/equinix/services/fabricv4/docs/PaginationRequest.md @@ -0,0 +1,31 @@ +# PaginationRequest + +Pagination request information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**offset** | **int** | Index of the first element. | [optional] [default to 0] +**limit** | **int** | Number of elements to be requested per page. Number must be between 1 and 100, and the default is 20. | [optional] [default to 20] + +## Example + +```python +from equinix.services.fabricv4.models.pagination_request import PaginationRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of PaginationRequest from a JSON string +pagination_request_instance = PaginationRequest.from_json(json) +# print the JSON string representation of the object +print(PaginationRequest.to_json()) + +# convert the object into a dict +pagination_request_dict = pagination_request_instance.to_dict() +# create an instance of PaginationRequest from a dict +pagination_request_form_dict = pagination_request.from_dict(pagination_request_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/PeeringType.md b/equinix/services/fabricv4/docs/PeeringType.md new file mode 100644 index 00000000..c6b50d75 --- /dev/null +++ b/equinix/services/fabricv4/docs/PeeringType.md @@ -0,0 +1,12 @@ +# PeeringType + +Access point peering type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PhysicalPort.md b/equinix/services/fabricv4/docs/PhysicalPort.md new file mode 100644 index 00000000..8464b570 --- /dev/null +++ b/equinix/services/fabricv4/docs/PhysicalPort.md @@ -0,0 +1,42 @@ +# PhysicalPort + +Physical Port specification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PhysicalPortType**](PhysicalPortType.md) | | [optional] +**id** | **int** | Equinix assigned response attribute for Physical Port Id | [optional] +**href** | **str** | Equinix assigned response attribute for an absolute URL that is the subject of the link's context. | [optional] [readonly] +**state** | [**PortState**](PortState.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**interface_speed** | **int** | Physical Port Speed in Mbps | [optional] +**interface_type** | **str** | Physical Port Interface Type | [optional] +**tether** | [**PortTether**](PortTether.md) | | [optional] +**demarcation_point** | [**PortDemarcationPoint**](PortDemarcationPoint.md) | | [optional] +**additional_info** | [**List[PortAdditionalInfo]**](PortAdditionalInfo.md) | Physical Port additional information | [optional] +**order** | [**PortOrder**](PortOrder.md) | | [optional] +**operation** | [**PortOperation**](PortOperation.md) | | [optional] +**loas** | [**List[PortLoa]**](PortLoa.md) | Port Loas | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.physical_port import PhysicalPort + +# TODO update the JSON string below +json = "{}" +# create an instance of PhysicalPort from a JSON string +physical_port_instance = PhysicalPort.from_json(json) +# print the JSON string representation of the object +print(PhysicalPort.to_json()) + +# convert the object into a dict +physical_port_dict = physical_port_instance.to_dict() +# create an instance of PhysicalPort from a dict +physical_port_form_dict = physical_port.from_dict(physical_port_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/PhysicalPortType.md b/equinix/services/fabricv4/docs/PhysicalPortType.md new file mode 100644 index 00000000..95f97a00 --- /dev/null +++ b/equinix/services/fabricv4/docs/PhysicalPortType.md @@ -0,0 +1,12 @@ +# PhysicalPortType + +Type of Port + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Port.md b/equinix/services/fabricv4/docs/Port.md new file mode 100644 index 00000000..77050b9f --- /dev/null +++ b/equinix/services/fabricv4/docs/Port.md @@ -0,0 +1,69 @@ +# Port + +Port is the Request Object for Creating Fabric Ports + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PortType**](PortType.md) | | +**id** | **int** | Equinix assigned response attribute for Port Id | [optional] +**href** | **str** | Equinix assigned response attribute for an absolute URL that is the subject of the link's context. | [optional] [readonly] +**uuid** | **str** | Equinix assigned response attribute for port identifier | [optional] +**name** | **str** | Equinix assigned response attribute for Port name | [optional] +**description** | **str** | Equinix assigned response attribute for Port description | [optional] +**physical_ports_speed** | **int** | Physical Ports Speed in Mbps | +**connections_count** | **int** | Equinix assigned response attribute for Connection count | [optional] +**physical_ports_type** | [**PortResponsePhysicalPortsType**](PortResponsePhysicalPortsType.md) | | +**physical_ports_count** | **int** | | [optional] +**connectivity_source_type** | [**PortResponseConnectivitySourceType**](PortResponseConnectivitySourceType.md) | | +**bmmr_type** | [**PortResponseBmmrType**](PortResponseBmmrType.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] +**state** | [**PortState**](PortState.md) | | [optional] +**order** | [**PortOrder**](PortOrder.md) | | [optional] +**cvp_id** | **str** | Equinix assigned response attribute for Unique ID for a virtual port. | [optional] +**operation** | [**PortOperation**](PortOperation.md) | | [optional] +**account** | [**SimplifiedAccountPortResponse**](SimplifiedAccountPortResponse.md) | | +**changelog** | [**Changelog**](Changelog.md) | | [optional] +**service_type** | [**PortResponseServiceType**](PortResponseServiceType.md) | | [optional] +**bandwidth** | **int** | Equinix assigned response attribute for Port bandwidth in Mbps | [optional] +**available_bandwidth** | **int** | Equinix assigned response attribute for Port available bandwidth in Mbps | [optional] +**used_bandwidth** | **int** | Equinix assigned response attribute for Port used bandwidth in Mbps | [optional] +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | +**device** | [**PortDevice**](PortDevice.md) | | [optional] +**interface** | [**PortInterface**](PortInterface.md) | | [optional] +**demarcation_point_ibx** | **str** | A-side/Equinix ibx | [optional] +**tether_ibx** | **str** | z-side/Equinix ibx | [optional] +**demarcation_point** | [**PortDemarcationPoint**](PortDemarcationPoint.md) | | [optional] +**redundancy** | [**PortRedundancy**](PortRedundancy.md) | | [optional] +**encapsulation** | [**PortEncapsulation**](PortEncapsulation.md) | | +**lag_enabled** | **bool** | If LAG enabled | [optional] +**lag** | [**PortLag**](PortLag.md) | | [optional] +**asn** | **int** | Port ASN | [optional] +**settings** | [**PortSettings**](PortSettings.md) | | +**physical_port_quantity** | **int** | Number of physical ports | [optional] +**notifications** | [**List[PortNotification]**](PortNotification.md) | Notification preferences | [optional] +**additional_info** | [**List[PortAdditionalInfo]**](PortAdditionalInfo.md) | Port additional information | [optional] +**physical_ports** | [**List[PhysicalPort]**](PhysicalPort.md) | Physical ports that implement this port | [optional] +**loas** | [**List[PortLoa]**](PortLoa.md) | Port Loas | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port import Port + +# TODO update the JSON string below +json = "{}" +# create an instance of Port from a JSON string +port_instance = Port.from_json(json) +# print the JSON string representation of the object +print(Port.to_json()) + +# convert the object into a dict +port_dict = port_instance.to_dict() +# create an instance of Port from a dict +port_form_dict = port.from_dict(port_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/PortAdditionalInfo.md b/equinix/services/fabricv4/docs/PortAdditionalInfo.md new file mode 100644 index 00000000..ac4c11b8 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortAdditionalInfo.md @@ -0,0 +1,31 @@ +# PortAdditionalInfo + +Additional information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**key** | **str** | Key | [optional] +**value** | **str** | Value | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of PortAdditionalInfo from a JSON string +port_additional_info_instance = PortAdditionalInfo.from_json(json) +# print the JSON string representation of the object +print(PortAdditionalInfo.to_json()) + +# convert the object into a dict +port_additional_info_dict = port_additional_info_instance.to_dict() +# create an instance of PortAdditionalInfo from a dict +port_additional_info_form_dict = port_additional_info.from_dict(port_additional_info_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/PortDemarcationPoint.md b/equinix/services/fabricv4/docs/PortDemarcationPoint.md new file mode 100644 index 00000000..944af578 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortDemarcationPoint.md @@ -0,0 +1,37 @@ +# PortDemarcationPoint + +Customer physical Port + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cabinet_unique_space_id** | **str** | Port cabinet unique space id | [optional] +**cage_unique_space_id** | **str** | Port cage unique space id | [optional] +**patch_panel** | **str** | Port patch panel | [optional] +**patch_panel_name** | **str** | Port patch panel | [optional] +**patch_panel_port_a** | **str** | Port patch panel port A | [optional] +**patch_panel_port_b** | **str** | Port patch panel port B | [optional] +**connector_type** | **str** | Port connector type | [optional] +**ibx** | **str** | Port ibx identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint + +# TODO update the JSON string below +json = "{}" +# create an instance of PortDemarcationPoint from a JSON string +port_demarcation_point_instance = PortDemarcationPoint.from_json(json) +# print the JSON string representation of the object +print(PortDemarcationPoint.to_json()) + +# convert the object into a dict +port_demarcation_point_dict = port_demarcation_point_instance.to_dict() +# create an instance of PortDemarcationPoint from a dict +port_demarcation_point_form_dict = port_demarcation_point.from_dict(port_demarcation_point_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/PortDevice.md b/equinix/services/fabricv4/docs/PortDevice.md new file mode 100644 index 00000000..72559460 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortDevice.md @@ -0,0 +1,31 @@ +# PortDevice + +Port device + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Device name | [optional] +**redundancy** | [**PortDeviceRedundancy**](PortDeviceRedundancy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_device import PortDevice + +# TODO update the JSON string below +json = "{}" +# create an instance of PortDevice from a JSON string +port_device_instance = PortDevice.from_json(json) +# print the JSON string representation of the object +print(PortDevice.to_json()) + +# convert the object into a dict +port_device_dict = port_device_instance.to_dict() +# create an instance of PortDevice from a dict +port_device_form_dict = port_device.from_dict(port_device_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/PortDeviceRedundancy.md b/equinix/services/fabricv4/docs/PortDeviceRedundancy.md new file mode 100644 index 00000000..3e071ae3 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortDeviceRedundancy.md @@ -0,0 +1,31 @@ +# PortDeviceRedundancy + +Device redundancy + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**group** | **str** | Device redundancy group | [optional] +**priority** | [**PortDeviceRedundancyPriority**](PortDeviceRedundancyPriority.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_device_redundancy import PortDeviceRedundancy + +# TODO update the JSON string below +json = "{}" +# create an instance of PortDeviceRedundancy from a JSON string +port_device_redundancy_instance = PortDeviceRedundancy.from_json(json) +# print the JSON string representation of the object +print(PortDeviceRedundancy.to_json()) + +# convert the object into a dict +port_device_redundancy_dict = port_device_redundancy_instance.to_dict() +# create an instance of PortDeviceRedundancy from a dict +port_device_redundancy_form_dict = port_device_redundancy.from_dict(port_device_redundancy_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/PortDeviceRedundancyPriority.md b/equinix/services/fabricv4/docs/PortDeviceRedundancyPriority.md new file mode 100644 index 00000000..5c3800d3 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortDeviceRedundancyPriority.md @@ -0,0 +1,12 @@ +# PortDeviceRedundancyPriority + +Device redundancy priority + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortEncapsulation.md b/equinix/services/fabricv4/docs/PortEncapsulation.md new file mode 100644 index 00000000..40925ea8 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortEncapsulation.md @@ -0,0 +1,31 @@ +# PortEncapsulation + +Port encapsulation configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PortEncapsulationType**](PortEncapsulationType.md) | | [optional] +**tag_protocol_id** | **str** | Port encapsulation tag protocol identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation + +# TODO update the JSON string below +json = "{}" +# create an instance of PortEncapsulation from a JSON string +port_encapsulation_instance = PortEncapsulation.from_json(json) +# print the JSON string representation of the object +print(PortEncapsulation.to_json()) + +# convert the object into a dict +port_encapsulation_dict = port_encapsulation_instance.to_dict() +# create an instance of PortEncapsulation from a dict +port_encapsulation_form_dict = port_encapsulation.from_dict(port_encapsulation_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/PortEncapsulationType.md b/equinix/services/fabricv4/docs/PortEncapsulationType.md new file mode 100644 index 00000000..42f175c4 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortEncapsulationType.md @@ -0,0 +1,12 @@ +# PortEncapsulationType + +Port encapsulation protocol type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortExpression.md b/equinix/services/fabricv4/docs/PortExpression.md new file mode 100644 index 00000000..b2cf89e3 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortExpression.md @@ -0,0 +1,33 @@ +# PortExpression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[PortExpression]**](PortExpression.md) | | [optional] +**var_or** | [**List[PortExpression]**](PortExpression.md) | | [optional] +**var_property** | [**PortSearchFieldName**](PortSearchFieldName.md) | | [optional] +**operator** | [**ServiceTokenSearchExpressionOperator**](ServiceTokenSearchExpressionOperator.md) | | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_expression import PortExpression + +# TODO update the JSON string below +json = "{}" +# create an instance of PortExpression from a JSON string +port_expression_instance = PortExpression.from_json(json) +# print the JSON string representation of the object +print(PortExpression.to_json()) + +# convert the object into a dict +port_expression_dict = port_expression_instance.to_dict() +# create an instance of PortExpression from a dict +port_expression_form_dict = port_expression.from_dict(port_expression_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/PortInterface.md b/equinix/services/fabricv4/docs/PortInterface.md new file mode 100644 index 00000000..51070f15 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortInterface.md @@ -0,0 +1,32 @@ +# PortInterface + +Port interface + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Port interface type | [optional] +**if_index** | **str** | Port interface index | [optional] +**name** | **str** | Port interface name | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_interface import PortInterface + +# TODO update the JSON string below +json = "{}" +# create an instance of PortInterface from a JSON string +port_interface_instance = PortInterface.from_json(json) +# print the JSON string representation of the object +print(PortInterface.to_json()) + +# convert the object into a dict +port_interface_dict = port_interface_instance.to_dict() +# create an instance of PortInterface from a dict +port_interface_form_dict = port_interface.from_dict(port_interface_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/PortLag.md b/equinix/services/fabricv4/docs/PortLag.md new file mode 100644 index 00000000..69fbb588 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortLag.md @@ -0,0 +1,33 @@ +# PortLag + +Port Lag + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | id | [optional] +**enabled** | **bool** | enabled | [optional] +**name** | **str** | name | [optional] +**member_status** | **str** | member status | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_lag import PortLag + +# TODO update the JSON string below +json = "{}" +# create an instance of PortLag from a JSON string +port_lag_instance = PortLag.from_json(json) +# print the JSON string representation of the object +print(PortLag.to_json()) + +# convert the object into a dict +port_lag_dict = port_lag_instance.to_dict() +# create an instance of PortLag from a dict +port_lag_form_dict = port_lag.from_dict(port_lag_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/PortLoa.md b/equinix/services/fabricv4/docs/PortLoa.md new file mode 100644 index 00000000..546181a8 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortLoa.md @@ -0,0 +1,32 @@ +# PortLoa + +Port Loas + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | uuid | [optional] +**href** | **str** | Loa uri. | [optional] [readonly] +**type** | [**PortLoaType**](PortLoaType.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_loa import PortLoa + +# TODO update the JSON string below +json = "{}" +# create an instance of PortLoa from a JSON string +port_loa_instance = PortLoa.from_json(json) +# print the JSON string representation of the object +print(PortLoa.to_json()) + +# convert the object into a dict +port_loa_dict = port_loa_instance.to_dict() +# create an instance of PortLoa from a dict +port_loa_form_dict = port_loa.from_dict(port_loa_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/PortLoaType.md b/equinix/services/fabricv4/docs/PortLoaType.md new file mode 100644 index 00000000..d1976331 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortLoaType.md @@ -0,0 +1,12 @@ +# PortLoaType + +Loa type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortNotification.md b/equinix/services/fabricv4/docs/PortNotification.md new file mode 100644 index 00000000..7ef924cf --- /dev/null +++ b/equinix/services/fabricv4/docs/PortNotification.md @@ -0,0 +1,30 @@ +# PortNotification + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PortNotificationType**](PortNotificationType.md) | | +**registered_users** | **List[str]** | Array of registered users | + +## Example + +```python +from equinix.services.fabricv4.models.port_notification import PortNotification + +# TODO update the JSON string below +json = "{}" +# create an instance of PortNotification from a JSON string +port_notification_instance = PortNotification.from_json(json) +# print the JSON string representation of the object +print(PortNotification.to_json()) + +# convert the object into a dict +port_notification_dict = port_notification_instance.to_dict() +# create an instance of PortNotification from a dict +port_notification_form_dict = port_notification.from_dict(port_notification_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/PortNotificationType.md b/equinix/services/fabricv4/docs/PortNotificationType.md new file mode 100644 index 00000000..458cbc83 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortNotificationType.md @@ -0,0 +1,12 @@ +# PortNotificationType + +Notification Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortOperation.md b/equinix/services/fabricv4/docs/PortOperation.md new file mode 100644 index 00000000..5f46f2b1 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOperation.md @@ -0,0 +1,32 @@ +# PortOperation + +Operational specifications for ports. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**operational_status** | [**PortOperationOperationalStatus**](PortOperationOperationalStatus.md) | | [optional] +**connection_count** | **int** | Total number of connections. | [optional] +**op_status_changed_at** | **datetime** | Date and time at which port availability changed. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_operation import PortOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of PortOperation from a JSON string +port_operation_instance = PortOperation.from_json(json) +# print the JSON string representation of the object +print(PortOperation.to_json()) + +# convert the object into a dict +port_operation_dict = port_operation_instance.to_dict() +# create an instance of PortOperation from a dict +port_operation_form_dict = port_operation.from_dict(port_operation_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/PortOperationOperationalStatus.md b/equinix/services/fabricv4/docs/PortOperationOperationalStatus.md new file mode 100644 index 00000000..d1e8bd11 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOperationOperationalStatus.md @@ -0,0 +1,12 @@ +# PortOperationOperationalStatus + +Availability of a given physical port. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortOrder.md b/equinix/services/fabricv4/docs/PortOrder.md new file mode 100644 index 00000000..11facdbf --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOrder.md @@ -0,0 +1,33 @@ +# PortOrder + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**purchase_order** | [**PortOrderPurchaseOrder**](PortOrderPurchaseOrder.md) | | [optional] +**order_id** | **str** | Order Identification | [optional] +**order_number** | **str** | Order Reference Number | [optional] +**uuid** | **str** | Equinix-assigned order identifier | [optional] +**signature** | [**PortOrderSignature**](PortOrderSignature.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_order import PortOrder + +# TODO update the JSON string below +json = "{}" +# create an instance of PortOrder from a JSON string +port_order_instance = PortOrder.from_json(json) +# print the JSON string representation of the object +print(PortOrder.to_json()) + +# convert the object into a dict +port_order_dict = port_order_instance.to_dict() +# create an instance of PortOrder from a dict +port_order_form_dict = port_order.from_dict(port_order_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 new file mode 100644 index 00000000..77e3e7c2 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOrderPurchaseOrder.md @@ -0,0 +1,35 @@ +# PortOrderPurchaseOrder + +purchase order + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**number** | **str** | purchase order number | [optional] +**amount** | **str** | purchase order amount | [optional] +**start_date** | **str** | | [optional] +**end_date** | **str** | | [optional] +**attachment_id** | **str** | | [optional] +**selection_type** | [**PortOrderPurchaseOrderSelectionType**](PortOrderPurchaseOrderSelectionType.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_order_purchase_order import PortOrderPurchaseOrder + +# TODO update the JSON string below +json = "{}" +# create an instance of PortOrderPurchaseOrder from a JSON string +port_order_purchase_order_instance = PortOrderPurchaseOrder.from_json(json) +# print the JSON string representation of the object +print(PortOrderPurchaseOrder.to_json()) + +# convert the object into a dict +port_order_purchase_order_dict = port_order_purchase_order_instance.to_dict() +# create an instance of PortOrderPurchaseOrder from a dict +port_order_purchase_order_form_dict = port_order_purchase_order.from_dict(port_order_purchase_order_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/PortOrderPurchaseOrderSelectionType.md b/equinix/services/fabricv4/docs/PortOrderPurchaseOrderSelectionType.md new file mode 100644 index 00000000..10f2d009 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOrderPurchaseOrderSelectionType.md @@ -0,0 +1,11 @@ +# PortOrderPurchaseOrderSelectionType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortOrderSignature.md b/equinix/services/fabricv4/docs/PortOrderSignature.md new file mode 100644 index 00000000..c055e83a --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOrderSignature.md @@ -0,0 +1,31 @@ +# PortOrderSignature + +Port signature Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**signatory** | [**PortOrderSignatureSignatory**](PortOrderSignatureSignatory.md) | | [optional] +**delegate** | [**PortOrderSignatureDelegate**](PortOrderSignatureDelegate.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_order_signature import PortOrderSignature + +# TODO update the JSON string below +json = "{}" +# create an instance of PortOrderSignature from a JSON string +port_order_signature_instance = PortOrderSignature.from_json(json) +# print the JSON string representation of the object +print(PortOrderSignature.to_json()) + +# convert the object into a dict +port_order_signature_dict = port_order_signature_instance.to_dict() +# create an instance of PortOrderSignature from a dict +port_order_signature_form_dict = port_order_signature.from_dict(port_order_signature_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/PortOrderSignatureDelegate.md b/equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md new file mode 100644 index 00000000..a6e8cd35 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md @@ -0,0 +1,32 @@ +# PortOrderSignatureDelegate + +delegate oder details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**first_name** | **str** | name of delegate | [optional] +**last_name** | **str** | last Name of delegate | [optional] +**email** | **str** | email of delegate | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_order_signature_delegate import PortOrderSignatureDelegate + +# TODO update the JSON string below +json = "{}" +# create an instance of PortOrderSignatureDelegate from a JSON string +port_order_signature_delegate_instance = PortOrderSignatureDelegate.from_json(json) +# print the JSON string representation of the object +print(PortOrderSignatureDelegate.to_json()) + +# convert the object into a dict +port_order_signature_delegate_dict = port_order_signature_delegate_instance.to_dict() +# create an instance of PortOrderSignatureDelegate from a dict +port_order_signature_delegate_form_dict = port_order_signature_delegate.from_dict(port_order_signature_delegate_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/PortOrderSignatureSignatory.md b/equinix/services/fabricv4/docs/PortOrderSignatureSignatory.md new file mode 100644 index 00000000..6a96b2b6 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortOrderSignatureSignatory.md @@ -0,0 +1,12 @@ +# PortOrderSignatureSignatory + +Port signature Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortPriority.md b/equinix/services/fabricv4/docs/PortPriority.md new file mode 100644 index 00000000..bcd9f574 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortPriority.md @@ -0,0 +1,12 @@ +# PortPriority + +Port priority in redundancy group + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortRedundancy.md b/equinix/services/fabricv4/docs/PortRedundancy.md new file mode 100644 index 00000000..291c855c --- /dev/null +++ b/equinix/services/fabricv4/docs/PortRedundancy.md @@ -0,0 +1,32 @@ +# PortRedundancy + +Port redundancy configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | Access point redundancy | [optional] +**group** | **str** | Port UUID of respective primary port | [optional] +**priority** | [**PortPriority**](PortPriority.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy + +# TODO update the JSON string below +json = "{}" +# create an instance of PortRedundancy from a JSON string +port_redundancy_instance = PortRedundancy.from_json(json) +# print the JSON string representation of the object +print(PortRedundancy.to_json()) + +# convert the object into a dict +port_redundancy_dict = port_redundancy_instance.to_dict() +# create an instance of PortRedundancy from a dict +port_redundancy_form_dict = port_redundancy.from_dict(port_redundancy_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/PortResponse.md b/equinix/services/fabricv4/docs/PortResponse.md new file mode 100644 index 00000000..ca77f79b --- /dev/null +++ b/equinix/services/fabricv4/docs/PortResponse.md @@ -0,0 +1,69 @@ +# PortResponse + +Port response specification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PortType**](PortType.md) | | [optional] +**id** | **int** | Equinix assigned response attribute for Port Id | [optional] +**href** | **str** | Equinix assigned response attribute for an absolute URL that is the subject of the link's context. | [optional] [readonly] +**uuid** | **str** | Equinix assigned response attribute for port identifier | [optional] +**name** | **str** | Equinix assigned response attribute for Port name | [optional] +**description** | **str** | Equinix assigned response attribute for Port description | [optional] +**physical_ports_speed** | **int** | Physical Ports Speed in Mbps | [optional] +**connections_count** | **int** | Equinix assigned response attribute for Connection count | [optional] +**physical_ports_type** | [**PortResponsePhysicalPortsType**](PortResponsePhysicalPortsType.md) | | [optional] +**physical_ports_count** | **int** | | [optional] +**connectivity_source_type** | [**PortResponseConnectivitySourceType**](PortResponseConnectivitySourceType.md) | | [optional] +**bmmr_type** | [**PortResponseBmmrType**](PortResponseBmmrType.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] +**state** | [**PortState**](PortState.md) | | [optional] +**order** | [**PortOrder**](PortOrder.md) | | [optional] +**cvp_id** | **str** | Equinix assigned response attribute for Unique ID for a virtual port. | [optional] +**operation** | [**PortOperation**](PortOperation.md) | | [optional] +**account** | [**SimplifiedAccountPortResponse**](SimplifiedAccountPortResponse.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] +**service_type** | [**PortResponseServiceType**](PortResponseServiceType.md) | | [optional] +**bandwidth** | **int** | Equinix assigned response attribute for Port bandwidth in Mbps | [optional] +**available_bandwidth** | **int** | Equinix assigned response attribute for Port available bandwidth in Mbps | [optional] +**used_bandwidth** | **int** | Equinix assigned response attribute for Port used bandwidth in Mbps | [optional] +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**device** | [**PortDevice**](PortDevice.md) | | [optional] +**interface** | [**PortInterface**](PortInterface.md) | | [optional] +**demarcation_point_ibx** | **str** | A-side/Equinix ibx | [optional] +**tether_ibx** | **str** | z-side/Equinix ibx | [optional] +**demarcation_point** | [**PortDemarcationPoint**](PortDemarcationPoint.md) | | [optional] +**redundancy** | [**PortRedundancy**](PortRedundancy.md) | | [optional] +**encapsulation** | [**PortEncapsulation**](PortEncapsulation.md) | | [optional] +**lag_enabled** | **bool** | If LAG enabled | [optional] +**lag** | [**PortLag**](PortLag.md) | | [optional] +**asn** | **int** | Port ASN | [optional] +**settings** | [**PortSettings**](PortSettings.md) | | [optional] +**physical_port_quantity** | **int** | Number of physical ports | [optional] +**notifications** | [**List[PortNotification]**](PortNotification.md) | Notification preferences | [optional] +**additional_info** | [**List[PortAdditionalInfo]**](PortAdditionalInfo.md) | Port additional information | [optional] +**physical_ports** | [**List[PhysicalPort]**](PhysicalPort.md) | Physical ports that implement this port | [optional] +**loas** | [**List[PortLoa]**](PortLoa.md) | Port Loas | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_response import PortResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PortResponse from a JSON string +port_response_instance = PortResponse.from_json(json) +# print the JSON string representation of the object +print(PortResponse.to_json()) + +# convert the object into a dict +port_response_dict = port_response_instance.to_dict() +# create an instance of PortResponse from a dict +port_response_form_dict = port_response.from_dict(port_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/PortResponseBmmrType.md b/equinix/services/fabricv4/docs/PortResponseBmmrType.md new file mode 100644 index 00000000..0aca27a8 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortResponseBmmrType.md @@ -0,0 +1,11 @@ +# PortResponseBmmrType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortResponseConnectivitySourceType.md b/equinix/services/fabricv4/docs/PortResponseConnectivitySourceType.md new file mode 100644 index 00000000..ecff7c14 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortResponseConnectivitySourceType.md @@ -0,0 +1,12 @@ +# PortResponseConnectivitySourceType + +Port connectivity type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortResponsePhysicalPortsType.md b/equinix/services/fabricv4/docs/PortResponsePhysicalPortsType.md new file mode 100644 index 00000000..1e49a55d --- /dev/null +++ b/equinix/services/fabricv4/docs/PortResponsePhysicalPortsType.md @@ -0,0 +1,12 @@ +# PortResponsePhysicalPortsType + +Physical Ports Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortResponseServiceType.md b/equinix/services/fabricv4/docs/PortResponseServiceType.md new file mode 100644 index 00000000..ddb0c1ca --- /dev/null +++ b/equinix/services/fabricv4/docs/PortResponseServiceType.md @@ -0,0 +1,12 @@ +# PortResponseServiceType + +Port service Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortSearchFieldName.md b/equinix/services/fabricv4/docs/PortSearchFieldName.md new file mode 100644 index 00000000..02341330 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSearchFieldName.md @@ -0,0 +1,12 @@ +# PortSearchFieldName + +Possible field names to use on filters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortSettings.md b/equinix/services/fabricv4/docs/PortSettings.md new file mode 100644 index 00000000..93b0bc80 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSettings.md @@ -0,0 +1,38 @@ +# PortSettings + +Port configuration settings + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**product** | **str** | Product name | [optional] +**buyout** | **bool** | | [optional] +**view_port_permission** | **bool** | | [optional] +**place_vc_order_permission** | **bool** | | [optional] +**layer3_enabled** | **bool** | | [optional] +**product_code** | **str** | | [optional] +**shared_port_type** | **bool** | | [optional] +**shared_port_product** | [**PortSettingsSharedPortProduct**](PortSettingsSharedPortProduct.md) | | [optional] +**package_type** | [**PortSettingsPackageType**](PortSettingsPackageType.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_settings import PortSettings + +# TODO update the JSON string below +json = "{}" +# create an instance of PortSettings from a JSON string +port_settings_instance = PortSettings.from_json(json) +# print the JSON string representation of the object +print(PortSettings.to_json()) + +# convert the object into a dict +port_settings_dict = port_settings_instance.to_dict() +# create an instance of PortSettings from a dict +port_settings_form_dict = port_settings.from_dict(port_settings_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/PortSettingsPackageType.md b/equinix/services/fabricv4/docs/PortSettingsPackageType.md new file mode 100644 index 00000000..6c244fde --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSettingsPackageType.md @@ -0,0 +1,12 @@ +# PortSettingsPackageType + +Type of Port Package + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortSettingsSharedPortProduct.md b/equinix/services/fabricv4/docs/PortSettingsSharedPortProduct.md new file mode 100644 index 00000000..9dd2ceeb --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSettingsSharedPortProduct.md @@ -0,0 +1,11 @@ +# PortSettingsSharedPortProduct + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortSortBy.md b/equinix/services/fabricv4/docs/PortSortBy.md new file mode 100644 index 00000000..3d00c205 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSortBy.md @@ -0,0 +1,12 @@ +# PortSortBy + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortSortCriteria.md b/equinix/services/fabricv4/docs/PortSortCriteria.md new file mode 100644 index 00000000..02bc4e15 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSortCriteria.md @@ -0,0 +1,30 @@ +# PortSortCriteria + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**PortSortDirection**](PortSortDirection.md) | | [optional] +**var_property** | [**PortSortBy**](PortSortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_sort_criteria import PortSortCriteria + +# TODO update the JSON string below +json = "{}" +# create an instance of PortSortCriteria from a JSON string +port_sort_criteria_instance = PortSortCriteria.from_json(json) +# print the JSON string representation of the object +print(PortSortCriteria.to_json()) + +# convert the object into a dict +port_sort_criteria_dict = port_sort_criteria_instance.to_dict() +# create an instance of PortSortCriteria from a dict +port_sort_criteria_form_dict = port_sort_criteria.from_dict(port_sort_criteria_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/PortSortDirection.md b/equinix/services/fabricv4/docs/PortSortDirection.md new file mode 100644 index 00000000..9ee55237 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortSortDirection.md @@ -0,0 +1,12 @@ +# PortSortDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortState.md b/equinix/services/fabricv4/docs/PortState.md new file mode 100644 index 00000000..08d4d774 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortState.md @@ -0,0 +1,12 @@ +# PortState + +Port lifecycle state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortTether.md b/equinix/services/fabricv4/docs/PortTether.md new file mode 100644 index 00000000..d65daf37 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortTether.md @@ -0,0 +1,36 @@ +# PortTether + +Port physical connection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cross_connect_id** | **str** | Port cross connect identifier | [optional] +**cabinet_number** | **str** | Port cabinet number | [optional] +**system_name** | **str** | Port system name | [optional] +**patch_panel** | **str** | Port patch panel | [optional] +**patch_panel_port_a** | **str** | Port patch panel port A | [optional] +**patch_panel_port_b** | **str** | Port patch panel port B | [optional] +**ibx** | **str** | z-side/Equinix IBX | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_tether import PortTether + +# TODO update the JSON string below +json = "{}" +# create an instance of PortTether from a JSON string +port_tether_instance = PortTether.from_json(json) +# print the JSON string representation of the object +print(PortTether.to_json()) + +# convert the object into a dict +port_tether_dict = port_tether_instance.to_dict() +# create an instance of PortTether from a dict +port_tether_form_dict = port_tether.from_dict(port_tether_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/PortType.md b/equinix/services/fabricv4/docs/PortType.md new file mode 100644 index 00000000..62cde01e --- /dev/null +++ b/equinix/services/fabricv4/docs/PortType.md @@ -0,0 +1,12 @@ +# PortType + +Type of Port + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PortV4SearchRequest.md b/equinix/services/fabricv4/docs/PortV4SearchRequest.md new file mode 100644 index 00000000..b5159fe2 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortV4SearchRequest.md @@ -0,0 +1,32 @@ +# PortV4SearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**PortExpression**](PortExpression.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] +**sort** | [**List[PortSortCriteria]**](PortSortCriteria.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.port_v4_search_request import PortV4SearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of PortV4SearchRequest from a JSON string +port_v4_search_request_instance = PortV4SearchRequest.from_json(json) +# print the JSON string representation of the object +print(PortV4SearchRequest.to_json()) + +# convert the object into a dict +port_v4_search_request_dict = port_v4_search_request_instance.to_dict() +# create an instance of PortV4SearchRequest from a dict +port_v4_search_request_form_dict = port_v4_search_request.from_dict(port_v4_search_request_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/PortsApi.md b/equinix/services/fabricv4/docs/PortsApi.md new file mode 100644 index 00000000..5b251192 --- /dev/null +++ b/equinix/services/fabricv4/docs/PortsApi.md @@ -0,0 +1,663 @@ +# equinix.services.fabricv4.PortsApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**add_to_lag**](PortsApi.md#add_to_lag) | **POST** /fabric/v4/ports/{portId}/physicalPorts/bulk | Add to Lag +[**create_bulk_port**](PortsApi.md#create_bulk_port) | **POST** /fabric/v4/ports/bulk | Create Port +[**create_port**](PortsApi.md#create_port) | **POST** /fabric/v4/ports | Create Port +[**delete_port**](PortsApi.md#delete_port) | **DELETE** /fabric/v4/ports/{portId} | Delete a single port +[**get_port_by_uuid**](PortsApi.md#get_port_by_uuid) | **GET** /fabric/v4/ports/{portId} | Get Port by uuid +[**get_ports**](PortsApi.md#get_ports) | **GET** /fabric/v4/ports | Get All Ports +[**get_vlans**](PortsApi.md#get_vlans) | **GET** /fabric/v4/ports/{portUuid}/linkProtocols | Get Vlans +[**search_ports**](PortsApi.md#search_ports) | **POST** /fabric/v4/ports/search | Search ports + + +# **add_to_lag** +> AllPhysicalPortsResponse add_to_lag(port_id, bulk_physical_port) + +Add to Lag + +Add Physical Ports to Virtual Port. Preview + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.all_physical_ports_response import AllPhysicalPortsResponse +from equinix.services.fabricv4.models.bulk_physical_port import BulkPhysicalPort +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.PortsApi(api_client) + port_id = 'port_id_example' # str | Port UUID + bulk_physical_port = equinix.services.fabricv4.BulkPhysicalPort() # BulkPhysicalPort | + + try: + # Add to Lag + api_response = api_instance.add_to_lag(port_id, bulk_physical_port) + print("The response of PortsApi->add_to_lag:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->add_to_lag: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port_id** | **str**| Port UUID | + **bulk_physical_port** | [**BulkPhysicalPort**](BulkPhysicalPort.md)| | + +### Return type + +[**AllPhysicalPortsResponse**](AllPhysicalPortsResponse.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 | - | +**401** | Unauthorized | - | +**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) + +# **create_bulk_port** +> AllPortsResponse create_bulk_port(bulk_port) + +Create Port + +Create Port creates Equinix Fabric? Port. Preview + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse +from equinix.services.fabricv4.models.bulk_port import BulkPort +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.PortsApi(api_client) + bulk_port = equinix.services.fabricv4.BulkPort() # BulkPort | + + try: + # Create Port + api_response = api_instance.create_bulk_port(bulk_port) + print("The response of PortsApi->create_bulk_port:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->create_bulk_port: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **bulk_port** | [**BulkPort**](BulkPort.md)| | + +### Return type + +[**AllPortsResponse**](AllPortsResponse.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 operation for COLO Bulk Port | - | + +[[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_port** +> PortResponse create_port(port) + +Create Port + +Creates Equinix Fabric? Port. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.port import Port +from equinix.services.fabricv4.models.port_response import PortResponse +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.PortsApi(api_client) + port = equinix.services.fabricv4.Port() # Port | + + try: + # Create Port + api_response = api_instance.create_port(port) + print("The response of PortsApi->create_port:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->create_port: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port** | [**Port**](Port.md)| | + +### Return type + +[**PortResponse**](PortResponse.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 operation for COLO Single Port Non Lag | - | +**400** | Bad request | - | +**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) + +# **delete_port** +> Port delete_port(port_id) + +Delete a single port + +The API provides capability to delete a single port + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.port import Port +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.PortsApi(api_client) + port_id = 'port_id_example' # str | Port UUID + + try: + # Delete a single port + api_response = api_instance.delete_port(port_id) + print("The response of PortsApi->delete_port:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->delete_port: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port_id** | **str**| Port UUID | + +### Return type + +[**Port**](Port.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Accepted | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**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_port_by_uuid** +> PortResponse get_port_by_uuid(port_id) + +Get Port by uuid + +Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.port_response import PortResponse +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.PortsApi(api_client) + port_id = 'port_id_example' # str | Port UUID + + try: + # Get Port by uuid + api_response = api_instance.get_port_by_uuid(port_id) + print("The response of PortsApi->get_port_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->get_port_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port_id** | **str**| Port UUID | + +### Return type + +[**PortResponse**](PortResponse.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 | - | +**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_ports** +> AllPortsResponse get_ports(name=name) + +Get All Ports + +Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse +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.PortsApi(api_client) + name = 'name_example' # str | port name to be provided if specific port(s) to be retrieved (optional) + + try: + # Get All Ports + api_response = api_instance.get_ports(name=name) + print("The response of PortsApi->get_ports:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->get_ports: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | **str**| port name to be provided if specific port(s) to be retrieved | [optional] + +### Return type + +[**AllPortsResponse**](AllPortsResponse.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 | - | +**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) + +# **get_vlans** +> LinkProtocolGetResponse get_vlans(port_uuid) + +Get Vlans + +The API provides capability to retrieve Vlans for a Port. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.link_protocol_get_response import LinkProtocolGetResponse +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.PortsApi(api_client) + port_uuid = 'port_uuid_example' # str | Port UUID + + try: + # Get Vlans + api_response = api_instance.get_vlans(port_uuid) + print("The response of PortsApi->get_vlans:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->get_vlans: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port_uuid** | **str**| Port UUID | + +### Return type + +[**LinkProtocolGetResponse**](LinkProtocolGetResponse.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** | Get Vlans | - | +**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) + +# **search_ports** +> AllPortsResponse search_ports(port_v4_search_request) + +Search ports + +The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse +from equinix.services.fabricv4.models.port_v4_search_request import PortV4SearchRequest +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.PortsApi(api_client) + port_v4_search_request = equinix.services.fabricv4.PortV4SearchRequest() # PortV4SearchRequest | + + try: + # Search ports + api_response = api_instance.search_ports(port_v4_search_request) + print("The response of PortsApi->search_ports:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PortsApi->search_ports: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port_v4_search_request** | [**PortV4SearchRequest**](PortV4SearchRequest.md)| | + +### Return type + +[**AllPortsResponse**](AllPortsResponse.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 | - | +**401** | Unauthorized | - | +**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) + diff --git a/equinix/services/fabricv4/docs/PrecisionTimeApi.md b/equinix/services/fabricv4/docs/PrecisionTimeApi.md new file mode 100644 index 00000000..239409b3 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeApi.md @@ -0,0 +1,589 @@ +# equinix.services.fabricv4.PrecisionTimeApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_time_services**](PrecisionTimeApi.md#create_time_services) | **POST** /fabric/v4/timeServices | Create Time Service +[**delete_time_service_by_id**](PrecisionTimeApi.md#delete_time_service_by_id) | **DELETE** /fabric/v4/timeServices/{serviceId} | Delete time service +[**get_time_services_by_id**](PrecisionTimeApi.md#get_time_services_by_id) | **GET** /fabric/v4/timeServices/{serviceId} | Get Time Service +[**get_time_services_connections_by_service_id**](PrecisionTimeApi.md#get_time_services_connections_by_service_id) | **GET** /fabric/v4/timeServices/{serviceId}/connections | Get Connection Links +[**get_time_services_package_by_code**](PrecisionTimeApi.md#get_time_services_package_by_code) | **GET** /fabric/v4/timeServicePackages/{packageCode} | Get Package By Code +[**get_time_services_packages**](PrecisionTimeApi.md#get_time_services_packages) | **GET** /fabric/v4/timeServicePackages | Get Packages +[**update_time_services_by_id**](PrecisionTimeApi.md#update_time_services_by_id) | **PATCH** /fabric/v4/timeServices/{serviceId} | Patch time service + + +# **create_time_services** +> PrecisionTimeServiceCreateResponse create_time_services(precision_time_service_request) + +Create Time Service + +The API provides capability to create timing service + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +from equinix.services.fabricv4.models.precision_time_service_request import PrecisionTimeServiceRequest +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.PrecisionTimeApi(api_client) + precision_time_service_request = equinix.services.fabricv4.PrecisionTimeServiceRequest() # PrecisionTimeServiceRequest | + + try: + # Create Time Service + api_response = api_instance.create_time_services(precision_time_service_request) + print("The response of PrecisionTimeApi->create_time_services:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->create_time_services: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **precision_time_service_request** | [**PrecisionTimeServiceRequest**](PrecisionTimeServiceRequest.md)| | + +### Return type + +[**PrecisionTimeServiceCreateResponse**](PrecisionTimeServiceCreateResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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) + +# **delete_time_service_by_id** +> PrecisionTimeServiceCreateResponse delete_time_service_by_id(service_id) + +Delete time service + +Delete EPT service by it's uuid + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +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.PrecisionTimeApi(api_client) + service_id = 'service_id_example' # str | Service UUID + + try: + # Delete time service + api_response = api_instance.delete_time_service_by_id(service_id) + print("The response of PrecisionTimeApi->delete_time_service_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->delete_time_service_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_id** | **str**| Service UUID | + +### Return type + +[**PrecisionTimeServiceCreateResponse**](PrecisionTimeServiceCreateResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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_time_services_by_id** +> PrecisionTimeServiceCreateResponse get_time_services_by_id(service_id) + +Get Time Service + +The API provides capability to get precision timing service's details + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +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.PrecisionTimeApi(api_client) + service_id = 'service_id_example' # str | Service UUID + + try: + # Get Time Service + api_response = api_instance.get_time_services_by_id(service_id) + print("The response of PrecisionTimeApi->get_time_services_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->get_time_services_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_id** | **str**| Service UUID | + +### Return type + +[**PrecisionTimeServiceCreateResponse**](PrecisionTimeServiceCreateResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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_time_services_connections_by_service_id** +> PrecisionTimeServiceConnectionsResponse get_time_services_connections_by_service_id(service_id) + +Get Connection Links + +The API provides capability to get prevision timing service's details + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.precision_time_service_connections_response import PrecisionTimeServiceConnectionsResponse +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.PrecisionTimeApi(api_client) + service_id = 'service_id_example' # str | Service UUID + + try: + # Get Connection Links + api_response = api_instance.get_time_services_connections_by_service_id(service_id) + print("The response of PrecisionTimeApi->get_time_services_connections_by_service_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->get_time_services_connections_by_service_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_id** | **str**| Service UUID | + +### Return type + +[**PrecisionTimeServiceConnectionsResponse**](PrecisionTimeServiceConnectionsResponse.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** | Return Time Service Connection | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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_time_services_package_by_code** +> PrecisionTimePackageResponse get_time_services_package_by_code(package_code) + +Get Package By Code + +The API provides capability to get timing service's package by code + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse +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.PrecisionTimeApi(api_client) + package_code = equinix.services.fabricv4.GetTimeServicesPackageByCodePackageCodeParameter() # GetTimeServicesPackageByCodePackageCodeParameter | Package Code + + try: + # Get Package By Code + api_response = api_instance.get_time_services_package_by_code(package_code) + print("The response of PrecisionTimeApi->get_time_services_package_by_code:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->get_time_services_package_by_code: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **package_code** | [**GetTimeServicesPackageByCodePackageCodeParameter**](.md)| Package Code | + +### Return type + +[**PrecisionTimePackageResponse**](PrecisionTimePackageResponse.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 | - | +**415** | Unsupported Media Type | - | +**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_time_services_packages** +> PrecisionTimeServicePackagesResponse get_time_services_packages() + +Get Packages + +The API provides capability to get timing service's packages + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.precision_time_service_packages_response import PrecisionTimeServicePackagesResponse +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.PrecisionTimeApi(api_client) + + try: + # Get Packages + api_response = api_instance.get_time_services_packages() + print("The response of PrecisionTimeApi->get_time_services_packages:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->get_time_services_packages: %s\n" % e) +``` + + + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**PrecisionTimeServicePackagesResponse**](PrecisionTimeServicePackagesResponse.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 | - | +**415** | Unsupported Media Type | - | +**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) + +# **update_time_services_by_id** +> PrecisionTimeServiceCreateResponse update_time_services_by_id(service_id, precision_time_change_operation) + +Patch time service + +The API provides capability to update timing service + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.precision_time_change_operation import PrecisionTimeChangeOperation +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +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.PrecisionTimeApi(api_client) + service_id = 'service_id_example' # str | Service UUID + precision_time_change_operation = [equinix.services.fabricv4.PrecisionTimeChangeOperation()] # List[PrecisionTimeChangeOperation] | + + try: + # Patch time service + api_response = api_instance.update_time_services_by_id(service_id, precision_time_change_operation) + print("The response of PrecisionTimeApi->update_time_services_by_id:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PrecisionTimeApi->update_time_services_by_id: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_id** | **str**| Service UUID | + **precision_time_change_operation** | [**List[PrecisionTimeChangeOperation]**](PrecisionTimeChangeOperation.md)| | + +### Return type + +[**PrecisionTimeServiceCreateResponse**](PrecisionTimeServiceCreateResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json-patch+json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**415** | Unsupported Media Type | - | +**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/PrecisionTimeChangeOperation.md b/equinix/services/fabricv4/docs/PrecisionTimeChangeOperation.md new file mode 100644 index 00000000..3e71468a --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeChangeOperation.md @@ -0,0 +1,32 @@ +# PrecisionTimeChangeOperation + +Fabric Precision Timing change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**PrecisionTimeChangeOperationOp**](PrecisionTimeChangeOperationOp.md) | | +**path** | [**PrecisionTimeChangeOperationPath**](PrecisionTimeChangeOperationPath.md) | | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_change_operation import PrecisionTimeChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimeChangeOperation from a JSON string +precision_time_change_operation_instance = PrecisionTimeChangeOperation.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimeChangeOperation.to_json()) + +# convert the object into a dict +precision_time_change_operation_dict = precision_time_change_operation_instance.to_dict() +# create an instance of PrecisionTimeChangeOperation from a dict +precision_time_change_operation_form_dict = precision_time_change_operation.from_dict(precision_time_change_operation_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/PrecisionTimeChangeOperationOp.md b/equinix/services/fabricv4/docs/PrecisionTimeChangeOperationOp.md new file mode 100644 index 00000000..476502d2 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeChangeOperationOp.md @@ -0,0 +1,12 @@ +# PrecisionTimeChangeOperationOp + +Handy shortcut for operation name + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PrecisionTimeChangeOperationPath.md b/equinix/services/fabricv4/docs/PrecisionTimeChangeOperationPath.md new file mode 100644 index 00000000..034cd671 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeChangeOperationPath.md @@ -0,0 +1,12 @@ +# PrecisionTimeChangeOperationPath + +path inside document leading to updated parameter + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PrecisionTimePackageRequest.md b/equinix/services/fabricv4/docs/PrecisionTimePackageRequest.md new file mode 100644 index 00000000..70e02131 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimePackageRequest.md @@ -0,0 +1,31 @@ +# PrecisionTimePackageRequest + +EPT Package Request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | | [optional] +**code** | [**GetTimeServicesPackageByCodePackageCodeParameter**](GetTimeServicesPackageByCodePackageCodeParameter.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_package_request import PrecisionTimePackageRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimePackageRequest from a JSON string +precision_time_package_request_instance = PrecisionTimePackageRequest.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimePackageRequest.to_json()) + +# convert the object into a dict +precision_time_package_request_dict = precision_time_package_request_instance.to_dict() +# create an instance of PrecisionTimePackageRequest from a dict +precision_time_package_request_form_dict = precision_time_package_request.from_dict(precision_time_package_request_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/PrecisionTimePackageResponse.md b/equinix/services/fabricv4/docs/PrecisionTimePackageResponse.md new file mode 100644 index 00000000..80d26e40 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimePackageResponse.md @@ -0,0 +1,41 @@ +# PrecisionTimePackageResponse + +EPT Service Package Information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | | [optional] +**code** | [**GetTimeServicesPackageByCodePackageCodeParameter**](GetTimeServicesPackageByCodePackageCodeParameter.md) | | +**type** | [**PrecisionTimePackageResponseType**](PrecisionTimePackageResponseType.md) | | [optional] +**bandwidth** | **int** | | [optional] +**clients_per_second_max** | **int** | | [optional] +**redundancy_supported** | **bool** | | [optional] +**multi_subnet_supported** | **bool** | | [optional] +**accuracy_unit** | **str** | | [optional] +**accuracy_sla** | **int** | | [optional] +**accuracy_avg_min** | **int** | | [optional] +**accuracy_avg_max** | **int** | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimePackageResponse from a JSON string +precision_time_package_response_instance = PrecisionTimePackageResponse.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimePackageResponse.to_json()) + +# convert the object into a dict +precision_time_package_response_dict = precision_time_package_response_instance.to_dict() +# create an instance of PrecisionTimePackageResponse from a dict +precision_time_package_response_form_dict = precision_time_package_response.from_dict(precision_time_package_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/PrecisionTimePackageResponseType.md b/equinix/services/fabricv4/docs/PrecisionTimePackageResponseType.md new file mode 100644 index 00000000..9a91b64d --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimePackageResponseType.md @@ -0,0 +1,11 @@ +# PrecisionTimePackageResponseType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PrecisionTimeServiceConnectionsResponse.md b/equinix/services/fabricv4/docs/PrecisionTimeServiceConnectionsResponse.md new file mode 100644 index 00000000..36bfd0aa --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServiceConnectionsResponse.md @@ -0,0 +1,31 @@ +# PrecisionTimeServiceConnectionsResponse + +EPT service instance's L2 connections + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[ConnectionLink]**](ConnectionLink.md) | Data returned from the API call | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_service_connections_response import PrecisionTimeServiceConnectionsResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimeServiceConnectionsResponse from a JSON string +precision_time_service_connections_response_instance = PrecisionTimeServiceConnectionsResponse.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimeServiceConnectionsResponse.to_json()) + +# convert the object into a dict +precision_time_service_connections_response_dict = precision_time_service_connections_response_instance.to_dict() +# create an instance of PrecisionTimeServiceConnectionsResponse from a dict +precision_time_service_connections_response_form_dict = precision_time_service_connections_response.from_dict(precision_time_service_connections_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/PrecisionTimeServiceCreateResponse.md b/equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponse.md new file mode 100644 index 00000000..d34cd4c2 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponse.md @@ -0,0 +1,41 @@ +# PrecisionTimeServiceCreateResponse + +EPT service instance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PrecisionTimeServiceCreateResponseType**](PrecisionTimeServiceCreateResponseType.md) | | +**href** | **str** | | +**uuid** | **str** | uuid of the ept service | +**name** | **str** | name of the ept service | [optional] +**description** | **str** | | [optional] +**state** | [**PrecisionTimeServiceCreateResponseState**](PrecisionTimeServiceCreateResponseState.md) | | +**package** | [**PrecisionTimePackageResponse**](PrecisionTimePackageResponse.md) | | +**connections** | [**List[FabricConnectionUuid]**](FabricConnectionUuid.md) | fabric l2 connections used for the ept service | [optional] +**ipv4** | [**Ipv4**](Ipv4.md) | | +**account** | [**Account**](Account.md) | | [optional] +**advance_configuration** | [**AdvanceConfiguration**](AdvanceConfiguration.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimeServiceCreateResponse from a JSON string +precision_time_service_create_response_instance = PrecisionTimeServiceCreateResponse.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimeServiceCreateResponse.to_json()) + +# convert the object into a dict +precision_time_service_create_response_dict = precision_time_service_create_response_instance.to_dict() +# create an instance of PrecisionTimeServiceCreateResponse from a dict +precision_time_service_create_response_form_dict = precision_time_service_create_response.from_dict(precision_time_service_create_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/PrecisionTimeServiceCreateResponseState.md b/equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponseState.md new file mode 100644 index 00000000..0b94bf25 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponseState.md @@ -0,0 +1,12 @@ +# PrecisionTimeServiceCreateResponseState + +indicate service state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PrecisionTimeServiceCreateResponseType.md b/equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponseType.md new file mode 100644 index 00000000..90231da5 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponseType.md @@ -0,0 +1,11 @@ +# PrecisionTimeServiceCreateResponseType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PrecisionTimeServicePackagesResponse.md b/equinix/services/fabricv4/docs/PrecisionTimeServicePackagesResponse.md new file mode 100644 index 00000000..c51823da --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServicePackagesResponse.md @@ -0,0 +1,31 @@ +# PrecisionTimeServicePackagesResponse + +Precision Packages + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[PrecisionTimePackageResponse]**](PrecisionTimePackageResponse.md) | Data returned from the API call | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_service_packages_response import PrecisionTimeServicePackagesResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimeServicePackagesResponse from a JSON string +precision_time_service_packages_response_instance = PrecisionTimeServicePackagesResponse.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimeServicePackagesResponse.to_json()) + +# convert the object into a dict +precision_time_service_packages_response_dict = precision_time_service_packages_response_instance.to_dict() +# create an instance of PrecisionTimeServicePackagesResponse from a dict +precision_time_service_packages_response_form_dict = precision_time_service_packages_response.from_dict(precision_time_service_packages_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/PrecisionTimeServiceRequest.md b/equinix/services/fabricv4/docs/PrecisionTimeServiceRequest.md new file mode 100644 index 00000000..ac62ee3d --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServiceRequest.md @@ -0,0 +1,37 @@ +# PrecisionTimeServiceRequest + +EPT service instance + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PrecisionTimeServiceRequestType**](PrecisionTimeServiceRequestType.md) | | +**name** | **str** | | +**description** | **str** | | [optional] +**package** | [**PrecisionTimePackageRequest**](PrecisionTimePackageRequest.md) | | +**connections** | [**List[FabricConnectionUuid]**](FabricConnectionUuid.md) | | +**ipv4** | [**Ipv4**](Ipv4.md) | | +**advance_configuration** | [**AdvanceConfiguration**](AdvanceConfiguration.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.precision_time_service_request import PrecisionTimeServiceRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of PrecisionTimeServiceRequest from a JSON string +precision_time_service_request_instance = PrecisionTimeServiceRequest.from_json(json) +# print the JSON string representation of the object +print(PrecisionTimeServiceRequest.to_json()) + +# convert the object into a dict +precision_time_service_request_dict = precision_time_service_request_instance.to_dict() +# create an instance of PrecisionTimeServiceRequest from a dict +precision_time_service_request_form_dict = precision_time_service_request.from_dict(precision_time_service_request_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/PrecisionTimeServiceRequestType.md b/equinix/services/fabricv4/docs/PrecisionTimeServiceRequestType.md new file mode 100644 index 00000000..aea5f8c3 --- /dev/null +++ b/equinix/services/fabricv4/docs/PrecisionTimeServiceRequestType.md @@ -0,0 +1,12 @@ +# PrecisionTimeServiceRequestType + +Indicate the entity is EPT service + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Presence.md b/equinix/services/fabricv4/docs/Presence.md new file mode 100644 index 00000000..16f72495 --- /dev/null +++ b/equinix/services/fabricv4/docs/Presence.md @@ -0,0 +1,12 @@ +# Presence + +Presence + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Price.md b/equinix/services/fabricv4/docs/Price.md new file mode 100644 index 00000000..51c48681 --- /dev/null +++ b/equinix/services/fabricv4/docs/Price.md @@ -0,0 +1,42 @@ +# Price + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | An absolute URL that returns specified pricing data | [optional] +**type** | [**ProductType**](ProductType.md) | | [optional] +**code** | **str** | Equinix-assigned product code | [optional] +**name** | **str** | Full product name | [optional] +**description** | **str** | Product description | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**charges** | [**List[PriceCharge]**](PriceCharge.md) | | [optional] +**currency** | **str** | Product offering price currency | [optional] +**term_length** | [**PriceTermLength**](PriceTermLength.md) | | [optional] +**catgory** | [**PriceCategory**](PriceCategory.md) | | [optional] +**connection** | [**VirtualConnectionPrice**](VirtualConnectionPrice.md) | | [optional] +**ip_block** | [**IpBlockPrice**](IpBlockPrice.md) | | [optional] +**router** | [**FabricCloudRouterPrice**](FabricCloudRouterPrice.md) | | [optional] +**port** | [**VirtualPortPrice**](VirtualPortPrice.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.price import Price + +# TODO update the JSON string below +json = "{}" +# create an instance of Price from a JSON string +price_instance = Price.from_json(json) +# print the JSON string representation of the object +print(Price.to_json()) + +# convert the object into a dict +price_dict = price_instance.to_dict() +# create an instance of Price from a dict +price_form_dict = price.from_dict(price_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/PriceCategory.md b/equinix/services/fabricv4/docs/PriceCategory.md new file mode 100644 index 00000000..0c3eb6e0 --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceCategory.md @@ -0,0 +1,12 @@ +# PriceCategory + +Price category + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PriceCharge.md b/equinix/services/fabricv4/docs/PriceCharge.md new file mode 100644 index 00000000..7dff5711 --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceCharge.md @@ -0,0 +1,31 @@ +# PriceCharge + +Price Charge + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PriceChargeType**](PriceChargeType.md) | | [optional] +**price** | **float** | Offering price | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.price_charge import PriceCharge + +# TODO update the JSON string below +json = "{}" +# create an instance of PriceCharge from a JSON string +price_charge_instance = PriceCharge.from_json(json) +# print the JSON string representation of the object +print(PriceCharge.to_json()) + +# convert the object into a dict +price_charge_dict = price_charge_instance.to_dict() +# create an instance of PriceCharge from a dict +price_charge_form_dict = price_charge.from_dict(price_charge_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/PriceChargeType.md b/equinix/services/fabricv4/docs/PriceChargeType.md new file mode 100644 index 00000000..cccd60fd --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceChargeType.md @@ -0,0 +1,12 @@ +# PriceChargeType + +Price charge type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PriceError.md b/equinix/services/fabricv4/docs/PriceError.md new file mode 100644 index 00000000..349e5c71 --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceError.md @@ -0,0 +1,35 @@ +# PriceError + +Error with details + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**error_code** | [**PriceErrorErrorCode**](PriceErrorErrorCode.md) | | +**error_message** | [**PriceErrorErrorMessage**](PriceErrorErrorMessage.md) | | +**correlation_id** | **str** | | [optional] +**details** | **str** | | [optional] +**help** | **str** | | [optional] +**additional_info** | [**List[PriceErrorAdditionalInfo]**](PriceErrorAdditionalInfo.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.price_error import PriceError + +# TODO update the JSON string below +json = "{}" +# create an instance of PriceError from a JSON string +price_error_instance = PriceError.from_json(json) +# print the JSON string representation of the object +print(PriceError.to_json()) + +# convert the object into a dict +price_error_dict = price_error_instance.to_dict() +# create an instance of PriceError from a dict +price_error_form_dict = price_error.from_dict(price_error_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/PriceErrorAdditionalInfo.md b/equinix/services/fabricv4/docs/PriceErrorAdditionalInfo.md new file mode 100644 index 00000000..126662ce --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceErrorAdditionalInfo.md @@ -0,0 +1,30 @@ +# PriceErrorAdditionalInfo + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | | [optional] +**reason** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.price_error_additional_info import PriceErrorAdditionalInfo + +# TODO update the JSON string below +json = "{}" +# create an instance of PriceErrorAdditionalInfo from a JSON string +price_error_additional_info_instance = PriceErrorAdditionalInfo.from_json(json) +# print the JSON string representation of the object +print(PriceErrorAdditionalInfo.to_json()) + +# convert the object into a dict +price_error_additional_info_dict = price_error_additional_info_instance.to_dict() +# create an instance of PriceErrorAdditionalInfo from a dict +price_error_additional_info_form_dict = price_error_additional_info.from_dict(price_error_additional_info_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/PriceErrorErrorCode.md b/equinix/services/fabricv4/docs/PriceErrorErrorCode.md new file mode 100644 index 00000000..43f100ee --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceErrorErrorCode.md @@ -0,0 +1,11 @@ +# PriceErrorErrorCode + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PriceErrorErrorMessage.md b/equinix/services/fabricv4/docs/PriceErrorErrorMessage.md new file mode 100644 index 00000000..65324b6e --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceErrorErrorMessage.md @@ -0,0 +1,11 @@ +# PriceErrorErrorMessage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PriceLocation.md b/equinix/services/fabricv4/docs/PriceLocation.md new file mode 100644 index 00000000..15c6935b --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceLocation.md @@ -0,0 +1,29 @@ +# PriceLocation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**metro_code** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.price_location import PriceLocation + +# TODO update the JSON string below +json = "{}" +# create an instance of PriceLocation from a JSON string +price_location_instance = PriceLocation.from_json(json) +# print the JSON string representation of the object +print(PriceLocation.to_json()) + +# convert the object into a dict +price_location_dict = price_location_instance.to_dict() +# create an instance of PriceLocation from a dict +price_location_form_dict = price_location.from_dict(price_location_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/PriceSearchResponse.md b/equinix/services/fabricv4/docs/PriceSearchResponse.md new file mode 100644 index 00000000..a3f04e51 --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceSearchResponse.md @@ -0,0 +1,30 @@ +# PriceSearchResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[Price]**](Price.md) | | [optional] +**pagination** | [**Pagination**](Pagination.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.price_search_response import PriceSearchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of PriceSearchResponse from a JSON string +price_search_response_instance = PriceSearchResponse.from_json(json) +# print the JSON string representation of the object +print(PriceSearchResponse.to_json()) + +# convert the object into a dict +price_search_response_dict = price_search_response_instance.to_dict() +# create an instance of PriceSearchResponse from a dict +price_search_response_form_dict = price_search_response.from_dict(price_search_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/PriceTermLength.md b/equinix/services/fabricv4/docs/PriceTermLength.md new file mode 100644 index 00000000..aab2ff69 --- /dev/null +++ b/equinix/services/fabricv4/docs/PriceTermLength.md @@ -0,0 +1,12 @@ +# PriceTermLength + +In months. No value means unlimited + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PricesApi.md b/equinix/services/fabricv4/docs/PricesApi.md new file mode 100644 index 00000000..b45ef6bb --- /dev/null +++ b/equinix/services/fabricv4/docs/PricesApi.md @@ -0,0 +1,90 @@ +# equinix.services.fabricv4.PricesApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**search_prices**](PricesApi.md#search_prices) | **POST** /fabric/v4/prices/search | Get Prices + + +# **search_prices** +> PriceSearchResponse search_prices(filter_body) + +Get Prices + +Search prices by search criteria + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.filter_body import FilterBody +from equinix.services.fabricv4.models.price_search_response import PriceSearchResponse +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.PricesApi(api_client) + filter_body = equinix.services.fabricv4.FilterBody() # FilterBody | + + try: + # Get Prices + api_response = api_instance.search_prices(filter_body) + print("The response of PricesApi->search_prices:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling PricesApi->search_prices: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **filter_body** | [**FilterBody**](FilterBody.md)| | + +### Return type + +[**PriceSearchResponse**](PriceSearchResponse.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 | - | +**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/ProcessStep.md b/equinix/services/fabricv4/docs/ProcessStep.md new file mode 100644 index 00000000..5fd224e9 --- /dev/null +++ b/equinix/services/fabricv4/docs/ProcessStep.md @@ -0,0 +1,32 @@ +# ProcessStep + +Definition of customized step while making connection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**title** | **str** | Service profile custom step title | [optional] +**sub_title** | **str** | Service profile custom step sub title | [optional] +**description** | **str** | Service profile custom step description | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.process_step import ProcessStep + +# TODO update the JSON string below +json = "{}" +# create an instance of ProcessStep from a JSON string +process_step_instance = ProcessStep.from_json(json) +# print the JSON string representation of the object +print(ProcessStep.to_json()) + +# convert the object into a dict +process_step_dict = process_step_instance.to_dict() +# create an instance of ProcessStep from a dict +process_step_form_dict = process_step.from_dict(process_step_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/ProductType.md b/equinix/services/fabricv4/docs/ProductType.md new file mode 100644 index 00000000..d91a87f1 --- /dev/null +++ b/equinix/services/fabricv4/docs/ProductType.md @@ -0,0 +1,12 @@ +# ProductType + +Product type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Project.md b/equinix/services/fabricv4/docs/Project.md new file mode 100644 index 00000000..6efcb397 --- /dev/null +++ b/equinix/services/fabricv4/docs/Project.md @@ -0,0 +1,29 @@ +# Project + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project_id** | **str** | Subscriber-assigned project ID | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.project import Project + +# TODO update the JSON string below +json = "{}" +# create an instance of Project from a JSON string +project_instance = Project.from_json(json) +# print the JSON string representation of the object +print(Project.to_json()) + +# convert the object into a dict +project_dict = project_instance.to_dict() +# create an instance of Project from a dict +project_form_dict = project.from_dict(project_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/ProviderStatus.md b/equinix/services/fabricv4/docs/ProviderStatus.md new file mode 100644 index 00000000..1095f8ea --- /dev/null +++ b/equinix/services/fabricv4/docs/ProviderStatus.md @@ -0,0 +1,12 @@ +# ProviderStatus + +Connection provider readiness status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PtpAdvanceConfiguration.md b/equinix/services/fabricv4/docs/PtpAdvanceConfiguration.md new file mode 100644 index 00000000..0724b47a --- /dev/null +++ b/equinix/services/fabricv4/docs/PtpAdvanceConfiguration.md @@ -0,0 +1,37 @@ +# PtpAdvanceConfiguration + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**time_scale** | [**PtpAdvanceConfigurationTimeScale**](PtpAdvanceConfigurationTimeScale.md) | | [optional] +**domain** | **int** | | [optional] +**priority1** | **int** | | [optional] +**priority2** | **int** | | [optional] +**log_announce_interval** | **int** | The mean time interval between Announce messages. A shorter interval makes ptp4l react faster to the changes in the master-slave hierarchy. The interval should be the same in the whole domain. It's specified as a power of two in seconds. The default is 1 (2 seconds). | [optional] +**log_sync_interval** | **int** | The mean time interval between Sync messages. A shorter interval may improve accuracy of the local clock. It's specified as a power of two in seconds. The default is 0 (1 second). | [optional] +**log_delay_req_interval** | **int** | | [optional] +**transport_mode** | [**PtpAdvanceConfigurationTransportMode**](PtpAdvanceConfigurationTransportMode.md) | | [optional] +**grant_time** | **int** | Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.ptp_advance_configuration import PtpAdvanceConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of PtpAdvanceConfiguration from a JSON string +ptp_advance_configuration_instance = PtpAdvanceConfiguration.from_json(json) +# print the JSON string representation of the object +print(PtpAdvanceConfiguration.to_json()) + +# convert the object into a dict +ptp_advance_configuration_dict = ptp_advance_configuration_instance.to_dict() +# create an instance of PtpAdvanceConfiguration from a dict +ptp_advance_configuration_form_dict = ptp_advance_configuration.from_dict(ptp_advance_configuration_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/PtpAdvanceConfigurationTimeScale.md b/equinix/services/fabricv4/docs/PtpAdvanceConfigurationTimeScale.md new file mode 100644 index 00000000..76777465 --- /dev/null +++ b/equinix/services/fabricv4/docs/PtpAdvanceConfigurationTimeScale.md @@ -0,0 +1,12 @@ +# PtpAdvanceConfigurationTimeScale + +Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/PtpAdvanceConfigurationTransportMode.md b/equinix/services/fabricv4/docs/PtpAdvanceConfigurationTransportMode.md new file mode 100644 index 00000000..825f1d5c --- /dev/null +++ b/equinix/services/fabricv4/docs/PtpAdvanceConfigurationTransportMode.md @@ -0,0 +1,11 @@ +# PtpAdvanceConfigurationTransportMode + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/QueryDirection.md b/equinix/services/fabricv4/docs/QueryDirection.md new file mode 100644 index 00000000..ed710ce3 --- /dev/null +++ b/equinix/services/fabricv4/docs/QueryDirection.md @@ -0,0 +1,12 @@ +# QueryDirection + +Direction of traffic from the requester's viewpoint. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RemoveOperation.md b/equinix/services/fabricv4/docs/RemoveOperation.md new file mode 100644 index 00000000..89a611c6 --- /dev/null +++ b/equinix/services/fabricv4/docs/RemoveOperation.md @@ -0,0 +1,31 @@ +# RemoveOperation + +Remove sub-resource from an existing model + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**OpEnum**](OpEnum.md) | | +**path** | **str** | A JSON Pointer path. | + +## Example + +```python +from equinix.services.fabricv4.models.remove_operation import RemoveOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of RemoveOperation from a JSON string +remove_operation_instance = RemoveOperation.from_json(json) +# print the JSON string representation of the object +print(RemoveOperation.to_json()) + +# convert the object into a dict +remove_operation_dict = remove_operation_instance.to_dict() +# create an instance of RemoveOperation from a dict +remove_operation_form_dict = remove_operation.from_dict(remove_operation_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/ReplaceOperation.md b/equinix/services/fabricv4/docs/ReplaceOperation.md new file mode 100644 index 00000000..a66d7285 --- /dev/null +++ b/equinix/services/fabricv4/docs/ReplaceOperation.md @@ -0,0 +1,32 @@ +# ReplaceOperation + +Replace attribute value or sub-resource in the existing model + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**OpEnum**](OpEnum.md) | | +**path** | **str** | A JSON Pointer path. | +**value** | **object** | value to replace with | + +## Example + +```python +from equinix.services.fabricv4.models.replace_operation import ReplaceOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ReplaceOperation from a JSON string +replace_operation_instance = ReplaceOperation.from_json(json) +# print the JSON string representation of the object +print(ReplaceOperation.to_json()) + +# convert the object into a dict +replace_operation_dict = replace_operation_instance.to_dict() +# create an instance of ReplaceOperation from a dict +replace_operation_form_dict = replace_operation.from_dict(replace_operation_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/RouteFilterChangeData.md b/equinix/services/fabricv4/docs/RouteFilterChangeData.md new file mode 100644 index 00000000..9350223b --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterChangeData.md @@ -0,0 +1,39 @@ +# RouteFilterChangeData + +Current state of latest Route Filter change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **str** | Current outcome of the change flow | [optional] +**created_by** | **str** | Created by User Key | [optional] +**created_date_time** | **datetime** | Set when change flow starts | [optional] +**updated_by** | **str** | Updated by User Key | [optional] +**updated_date_time** | **datetime** | Set when change object is updated | [optional] +**information** | **str** | Additional information | [optional] +**data** | [**RouteFiltersChangeOperation**](RouteFiltersChangeOperation.md) | | [optional] +**uuid** | **str** | Uniquely identifies a change | +**type** | [**RouteFiltersChangeType**](RouteFiltersChangeType.md) | | +**href** | **str** | Route Filter Change URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterChangeData from a JSON string +route_filter_change_data_instance = RouteFilterChangeData.from_json(json) +# print the JSON string representation of the object +print(RouteFilterChangeData.to_json()) + +# convert the object into a dict +route_filter_change_data_dict = route_filter_change_data_instance.to_dict() +# create an instance of RouteFilterChangeData from a dict +route_filter_change_data_form_dict = route_filter_change_data.from_dict(route_filter_change_data_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/RouteFilterChangeDataResponse.md b/equinix/services/fabricv4/docs/RouteFilterChangeDataResponse.md new file mode 100644 index 00000000..a8b4e243 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterChangeDataResponse.md @@ -0,0 +1,31 @@ +# RouteFilterChangeDataResponse + +List of Route Filter changes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RouteFilterChangeData]**](RouteFilterChangeData.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_change_data_response import RouteFilterChangeDataResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterChangeDataResponse from a JSON string +route_filter_change_data_response_instance = RouteFilterChangeDataResponse.from_json(json) +# print the JSON string representation of the object +print(RouteFilterChangeDataResponse.to_json()) + +# convert the object into a dict +route_filter_change_data_response_dict = route_filter_change_data_response_instance.to_dict() +# create an instance of RouteFilterChangeDataResponse from a dict +route_filter_change_data_response_form_dict = route_filter_change_data_response.from_dict(route_filter_change_data_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/RouteFilterConnectionsData.md b/equinix/services/fabricv4/docs/RouteFilterConnectionsData.md new file mode 100644 index 00000000..8138d489 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterConnectionsData.md @@ -0,0 +1,32 @@ +# RouteFilterConnectionsData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Connection URI | [optional] +**type** | [**ConnectionType**](ConnectionType.md) | | [optional] +**uuid** | **str** | Route Filter identifier | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_connections_data import RouteFilterConnectionsData + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterConnectionsData from a JSON string +route_filter_connections_data_instance = RouteFilterConnectionsData.from_json(json) +# print the JSON string representation of the object +print(RouteFilterConnectionsData.to_json()) + +# convert the object into a dict +route_filter_connections_data_dict = route_filter_connections_data_instance.to_dict() +# create an instance of RouteFilterConnectionsData from a dict +route_filter_connections_data_form_dict = route_filter_connections_data.from_dict(route_filter_connections_data_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/RouteFilterRuleState.md b/equinix/services/fabricv4/docs/RouteFilterRuleState.md new file mode 100644 index 00000000..b13c143c --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRuleState.md @@ -0,0 +1,12 @@ +# RouteFilterRuleState + +Route Filter Rule status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFilterRulesApi.md b/equinix/services/fabricv4/docs/RouteFilterRulesApi.md new file mode 100644 index 00000000..07d34a18 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesApi.md @@ -0,0 +1,804 @@ +# equinix.services.fabricv4.RouteFilterRulesApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_route_filter_rule**](RouteFilterRulesApi.md#create_route_filter_rule) | **POST** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | Create RFRule +[**create_route_filter_rules_in_bulk**](RouteFilterRulesApi.md#create_route_filter_rules_in_bulk) | **POST** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk | Bulk RFRules +[**delete_route_filter_rule_by_uuid**](RouteFilterRulesApi.md#delete_route_filter_rule_by_uuid) | **DELETE** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | DeleteRFRule +[**get_route_filter_rule_by_uuid**](RouteFilterRulesApi.md#get_route_filter_rule_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | GetRFRule By UUID +[**get_route_filter_rule_change_by_uuid**](RouteFilterRulesApi.md#get_route_filter_rule_change_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId} | Get Change By ID +[**get_route_filter_rule_changes**](RouteFilterRulesApi.md#get_route_filter_rule_changes) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes | Get All Changes +[**get_route_filter_rules**](RouteFilterRulesApi.md#get_route_filter_rules) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | GetRFRules +[**patch_route_filter_rule_by_uuid**](RouteFilterRulesApi.md#patch_route_filter_rule_by_uuid) | **PATCH** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | PatchRFilterRule +[**replace_route_filter_rule_by_uuid**](RouteFilterRulesApi.md#replace_route_filter_rule_by_uuid) | **PUT** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | ReplaceRFRule + + +# **create_route_filter_rule** +> RouteFilterRulesData create_route_filter_rule(route_filter_id, route_filter_rules_base) + +Create RFRule + +This API provides capability to create a Route Filter Rule + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rules_base = equinix.services.fabricv4.RouteFilterRulesBase() # RouteFilterRulesBase | + + try: + # Create RFRule + api_response = api_instance.create_route_filter_rule(route_filter_id, route_filter_rules_base) + print("The response of RouteFilterRulesApi->create_route_filter_rule:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->create_route_filter_rule: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rules_base** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md)| | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter Rule ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **create_route_filter_rules_in_bulk** +> GetRouteFilterRulesResponse create_route_filter_rules_in_bulk(route_filter_id, route_filter_rules_post_request) + +Bulk RFRules + +This API provides capability to create bulk route filter rules + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_route_filter_rules_response import GetRouteFilterRulesResponse +from equinix.services.fabricv4.models.route_filter_rules_post_request import RouteFilterRulesPostRequest +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rules_post_request = equinix.services.fabricv4.RouteFilterRulesPostRequest() # RouteFilterRulesPostRequest | + + try: + # Bulk RFRules + api_response = api_instance.create_route_filter_rules_in_bulk(route_filter_id, route_filter_rules_post_request) + print("The response of RouteFilterRulesApi->create_route_filter_rules_in_bulk:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->create_route_filter_rules_in_bulk: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rules_post_request** | [**RouteFilterRulesPostRequest**](RouteFilterRulesPostRequest.md)| | + +### Return type + +[**GetRouteFilterRulesResponse**](GetRouteFilterRulesResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Resource not found | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **delete_route_filter_rule_by_uuid** +> RouteFilterRulesData delete_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id) + +DeleteRFRule + +This API provides capability to delete a Route Filter Rule + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rule_id = 'route_filter_rule_id_example' # str | Route Filter Rules Id + + try: + # DeleteRFRule + api_response = api_instance.delete_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id) + print("The response of RouteFilterRulesApi->delete_route_filter_rule_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->delete_route_filter_rule_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rule_id** | **str**| Route Filter Rules Id | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_route_filter_rule_by_uuid** +> RouteFilterRulesData get_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id) + +GetRFRule By UUID + +This API provides capability to view a Route Filter Rule by UUID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rule_id = 'route_filter_rule_id_example' # str | Route Filter Rules Id + + try: + # GetRFRule By UUID + api_response = api_instance.get_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id) + print("The response of RouteFilterRulesApi->get_route_filter_rule_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->get_route_filter_rule_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rule_id** | **str**| Route Filter Rules Id | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_route_filter_rule_change_by_uuid** +> RouteFilterRulesChangeData get_route_filter_rule_change_by_uuid(route_filter_id, route_filter_rule_id, change_id) + +Get Change By ID + +This API provides capability to retrieve a specific Route Filter Rule's Changes + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rule_id = 'route_filter_rule_id_example' # str | Route Filter Rules Id + change_id = 'change_id_example' # str | Route Filter Rule Change UUID + + try: + # Get Change By ID + api_response = api_instance.get_route_filter_rule_change_by_uuid(route_filter_id, route_filter_rule_id, change_id) + print("The response of RouteFilterRulesApi->get_route_filter_rule_change_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->get_route_filter_rule_change_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rule_id** | **str**| Route Filter Rules Id | + **change_id** | **str**| Route Filter Rule Change UUID | + +### Return type + +[**RouteFilterRulesChangeData**](RouteFilterRulesChangeData.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** | Fabric Route Filter Change object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID 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_route_filter_rule_changes** +> RouteFilterRulesChangeDataResponse get_route_filter_rule_changes(route_filter_id, route_filter_rule_id, offset=offset, limit=limit) + +Get All Changes + +This API provides capability to retrieve all of a Route Filter Rule's Changes + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_change_data_response import RouteFilterRulesChangeDataResponse +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rule_id = 'route_filter_rule_id_example' # str | Route Filter Rules Id + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # Get All Changes + api_response = api_instance.get_route_filter_rule_changes(route_filter_id, route_filter_rule_id, offset=offset, limit=limit) + print("The response of RouteFilterRulesApi->get_route_filter_rule_changes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->get_route_filter_rule_changes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rule_id** | **str**| Route Filter Rules Id | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**RouteFilterRulesChangeDataResponse**](RouteFilterRulesChangeDataResponse.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** | Fabric Route Filter Rule Change object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID 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_route_filter_rules** +> GetRouteFilterRulesResponse get_route_filter_rules(route_filter_id, offset=offset, limit=limit) + +GetRFRules + +This API provides capability to get all Route Filters Rules for Fabric + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_route_filter_rules_response import GetRouteFilterRulesResponse +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # GetRFRules + api_response = api_instance.get_route_filter_rules(route_filter_id, offset=offset, limit=limit) + print("The response of RouteFilterRulesApi->get_route_filter_rules:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->get_route_filter_rules: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**GetRouteFilterRulesResponse**](GetRouteFilterRulesResponse.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** | Resource not found | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter Rule ID 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) + +# **patch_route_filter_rule_by_uuid** +> RouteFilterRulesData patch_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id, route_filter_rules_patch_request_item) + +PatchRFilterRule + +This API provides capability to partially update a Route Filter Rule + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +from equinix.services.fabricv4.models.route_filter_rules_patch_request_item import RouteFilterRulesPatchRequestItem +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rule_id = 'route_filter_rule_id_example' # str | Route Filter Rules Id + route_filter_rules_patch_request_item = [equinix.services.fabricv4.RouteFilterRulesPatchRequestItem()] # List[RouteFilterRulesPatchRequestItem] | + + try: + # PatchRFilterRule + api_response = api_instance.patch_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id, route_filter_rules_patch_request_item) + print("The response of RouteFilterRulesApi->patch_route_filter_rule_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->patch_route_filter_rule_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rule_id** | **str**| Route Filter Rules Id | + **route_filter_rules_patch_request_item** | [**List[RouteFilterRulesPatchRequestItem]**](RouteFilterRulesPatchRequestItem.md)| | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **replace_route_filter_rule_by_uuid** +> RouteFilterRulesData replace_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id, route_filter_rules_base) + +ReplaceRFRule + +This API provides capability to replace a Route Filter Rule completely + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +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.RouteFilterRulesApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filter_rule_id = 'route_filter_rule_id_example' # str | Route Filter Rules Id + route_filter_rules_base = equinix.services.fabricv4.RouteFilterRulesBase() # RouteFilterRulesBase | + + try: + # ReplaceRFRule + api_response = api_instance.replace_route_filter_rule_by_uuid(route_filter_id, route_filter_rule_id, route_filter_rules_base) + print("The response of RouteFilterRulesApi->replace_route_filter_rule_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFilterRulesApi->replace_route_filter_rule_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filter_rule_id** | **str**| Route Filter Rules Id | + **route_filter_rules_base** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md)| | + +### Return type + +[**RouteFilterRulesData**](RouteFilterRulesData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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/RouteFilterRulesBase.md b/equinix/services/fabricv4/docs/RouteFilterRulesBase.md new file mode 100644 index 00000000..ce00708b --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesBase.md @@ -0,0 +1,32 @@ +# RouteFilterRulesBase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | | [optional] +**description** | **str** | Customer-provided Route Filter Rule description | [optional] +**prefix** | **str** | | +**prefix_match** | **str** | | [optional] [default to 'orlonger'] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesBase from a JSON string +route_filter_rules_base_instance = RouteFilterRulesBase.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesBase.to_json()) + +# convert the object into a dict +route_filter_rules_base_dict = route_filter_rules_base_instance.to_dict() +# create an instance of RouteFilterRulesBase from a dict +route_filter_rules_base_form_dict = route_filter_rules_base.from_dict(route_filter_rules_base_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/RouteFilterRulesChange.md b/equinix/services/fabricv4/docs/RouteFilterRulesChange.md new file mode 100644 index 00000000..dcce0105 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesChange.md @@ -0,0 +1,32 @@ +# RouteFilterRulesChange + +Current state of latest Route Filter Rule change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Uniquely identifies a change | +**type** | [**RouteFilterRulesChangeType**](RouteFilterRulesChangeType.md) | | +**href** | **str** | Route Filter Change URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_change import RouteFilterRulesChange + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesChange from a JSON string +route_filter_rules_change_instance = RouteFilterRulesChange.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesChange.to_json()) + +# convert the object into a dict +route_filter_rules_change_dict = route_filter_rules_change_instance.to_dict() +# create an instance of RouteFilterRulesChange from a dict +route_filter_rules_change_form_dict = route_filter_rules_change.from_dict(route_filter_rules_change_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/RouteFilterRulesChangeData.md b/equinix/services/fabricv4/docs/RouteFilterRulesChangeData.md new file mode 100644 index 00000000..331b9b73 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesChangeData.md @@ -0,0 +1,38 @@ +# RouteFilterRulesChangeData + +Current state of latest Route Filter Rules change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **str** | Current outcome of the change flow | [optional] +**created_by** | **str** | Created by User Key | [optional] +**created_date_time** | **datetime** | Set when change flow starts | [optional] +**updated_by** | **str** | Updated by User Key | [optional] +**updated_date_time** | **datetime** | Set when change object is updated | [optional] +**data** | [**RouteFilterRulesChangeOperation**](RouteFilterRulesChangeOperation.md) | | [optional] +**uuid** | **str** | Uniquely identifies a change | +**type** | [**RouteFilterRulesChangeType**](RouteFilterRulesChangeType.md) | | +**href** | **str** | Route Filter Change URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesChangeData from a JSON string +route_filter_rules_change_data_instance = RouteFilterRulesChangeData.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesChangeData.to_json()) + +# convert the object into a dict +route_filter_rules_change_data_dict = route_filter_rules_change_data_instance.to_dict() +# create an instance of RouteFilterRulesChangeData from a dict +route_filter_rules_change_data_form_dict = route_filter_rules_change_data.from_dict(route_filter_rules_change_data_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/RouteFilterRulesChangeDataResponse.md b/equinix/services/fabricv4/docs/RouteFilterRulesChangeDataResponse.md new file mode 100644 index 00000000..ee96d60c --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesChangeDataResponse.md @@ -0,0 +1,31 @@ +# RouteFilterRulesChangeDataResponse + +List of Route Filter Rule changes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RouteFilterRulesChangeData]**](RouteFilterRulesChangeData.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_change_data_response import RouteFilterRulesChangeDataResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesChangeDataResponse from a JSON string +route_filter_rules_change_data_response_instance = RouteFilterRulesChangeDataResponse.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesChangeDataResponse.to_json()) + +# convert the object into a dict +route_filter_rules_change_data_response_dict = route_filter_rules_change_data_response_instance.to_dict() +# create an instance of RouteFilterRulesChangeDataResponse from a dict +route_filter_rules_change_data_response_form_dict = route_filter_rules_change_data_response.from_dict(route_filter_rules_change_data_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/RouteFilterRulesChangeOperation.md b/equinix/services/fabricv4/docs/RouteFilterRulesChangeOperation.md new file mode 100644 index 00000000..648c9124 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesChangeOperation.md @@ -0,0 +1,32 @@ +# RouteFilterRulesChangeOperation + +Route Filter Rule change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**RoutingProtocolChangeOperationOp**](RoutingProtocolChangeOperationOp.md) | | +**path** | **str** | path inside document leading to updated parameter | +**value** | [**RouteFilterRulesBase**](RouteFilterRulesBase.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_change_operation import RouteFilterRulesChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesChangeOperation from a JSON string +route_filter_rules_change_operation_instance = RouteFilterRulesChangeOperation.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesChangeOperation.to_json()) + +# convert the object into a dict +route_filter_rules_change_operation_dict = route_filter_rules_change_operation_instance.to_dict() +# create an instance of RouteFilterRulesChangeOperation from a dict +route_filter_rules_change_operation_form_dict = route_filter_rules_change_operation.from_dict(route_filter_rules_change_operation_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/RouteFilterRulesChangeType.md b/equinix/services/fabricv4/docs/RouteFilterRulesChangeType.md new file mode 100644 index 00000000..a51c409c --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesChangeType.md @@ -0,0 +1,12 @@ +# RouteFilterRulesChangeType + +Type of change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFilterRulesData.md b/equinix/services/fabricv4/docs/RouteFilterRulesData.md new file mode 100644 index 00000000..e706e597 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesData.md @@ -0,0 +1,39 @@ +# RouteFilterRulesData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Route Filter Rules URI | [optional] +**type** | [**RouteFilterRulesDataType**](RouteFilterRulesDataType.md) | | [optional] +**uuid** | **str** | Route Filter Rule identifier | [optional] +**name** | **str** | | [optional] +**description** | **str** | Customer-provided Route Filter Rule description | [optional] +**state** | [**RouteFilterRuleState**](RouteFilterRuleState.md) | | [optional] +**prefix_match** | **str** | prefix matching operator | [optional] [default to 'orlonger'] +**change** | [**RouteFilterRulesChange**](RouteFilterRulesChange.md) | | [optional] +**action** | [**RouteFilterRulesDataAction**](RouteFilterRulesDataAction.md) | | [optional] +**prefix** | **str** | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesData from a JSON string +route_filter_rules_data_instance = RouteFilterRulesData.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesData.to_json()) + +# convert the object into a dict +route_filter_rules_data_dict = route_filter_rules_data_instance.to_dict() +# create an instance of RouteFilterRulesData from a dict +route_filter_rules_data_form_dict = route_filter_rules_data.from_dict(route_filter_rules_data_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/RouteFilterRulesDataAction.md b/equinix/services/fabricv4/docs/RouteFilterRulesDataAction.md new file mode 100644 index 00000000..05b462e9 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesDataAction.md @@ -0,0 +1,11 @@ +# RouteFilterRulesDataAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFilterRulesDataType.md b/equinix/services/fabricv4/docs/RouteFilterRulesDataType.md new file mode 100644 index 00000000..69d58ab0 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesDataType.md @@ -0,0 +1,12 @@ +# RouteFilterRulesDataType + +Route Filter type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFilterRulesPatchRequestItem.md b/equinix/services/fabricv4/docs/RouteFilterRulesPatchRequestItem.md new file mode 100644 index 00000000..e4923ce4 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesPatchRequestItem.md @@ -0,0 +1,32 @@ +# RouteFilterRulesPatchRequestItem + +Route Filter Rule change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | **str** | Handy shortcut for operation name | +**path** | **str** | path to change | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_patch_request_item import RouteFilterRulesPatchRequestItem + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesPatchRequestItem from a JSON string +route_filter_rules_patch_request_item_instance = RouteFilterRulesPatchRequestItem.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesPatchRequestItem.to_json()) + +# convert the object into a dict +route_filter_rules_patch_request_item_dict = route_filter_rules_patch_request_item_instance.to_dict() +# create an instance of RouteFilterRulesPatchRequestItem from a dict +route_filter_rules_patch_request_item_form_dict = route_filter_rules_patch_request_item.from_dict(route_filter_rules_patch_request_item_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/RouteFilterRulesPostRequest.md b/equinix/services/fabricv4/docs/RouteFilterRulesPostRequest.md new file mode 100644 index 00000000..792e9c88 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterRulesPostRequest.md @@ -0,0 +1,30 @@ +# RouteFilterRulesPostRequest + +Create Route Filter Rule POST request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[RouteFilterRulesBase]**](RouteFilterRulesBase.md) | Route Filter Rule configuration | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filter_rules_post_request import RouteFilterRulesPostRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFilterRulesPostRequest from a JSON string +route_filter_rules_post_request_instance = RouteFilterRulesPostRequest.from_json(json) +# print the JSON string representation of the object +print(RouteFilterRulesPostRequest.to_json()) + +# convert the object into a dict +route_filter_rules_post_request_dict = route_filter_rules_post_request_instance.to_dict() +# create an instance of RouteFilterRulesPostRequest from a dict +route_filter_rules_post_request_form_dict = route_filter_rules_post_request.from_dict(route_filter_rules_post_request_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/RouteFilterState.md b/equinix/services/fabricv4/docs/RouteFilterState.md new file mode 100644 index 00000000..145ffccc --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFilterState.md @@ -0,0 +1,12 @@ +# RouteFilterState + +Route Filter status + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFiltersApi.md b/equinix/services/fabricv4/docs/RouteFiltersApi.md new file mode 100644 index 00000000..58da7ea0 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersApi.md @@ -0,0 +1,1046 @@ +# equinix.services.fabricv4.RouteFiltersApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**attach_connection_route_filter**](RouteFiltersApi.md#attach_connection_route_filter) | **PUT** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Attach Route Filter +[**create_route_filter**](RouteFiltersApi.md#create_route_filter) | **POST** /fabric/v4/routeFilters | Create Route Filters +[**delete_route_filter_by_uuid**](RouteFiltersApi.md#delete_route_filter_by_uuid) | **DELETE** /fabric/v4/routeFilters/{routeFilterId} | Delete Route Filter +[**detach_connection_route_filter**](RouteFiltersApi.md#detach_connection_route_filter) | **DELETE** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Detach Route Filter +[**get_connection_route_filter_by_uuid**](RouteFiltersApi.md#get_connection_route_filter_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Get Route Filter +[**get_connection_route_filters**](RouteFiltersApi.md#get_connection_route_filters) | **GET** /fabric/v4/connections/{connectionId}/routeFilters | Get All RouteFilters +[**get_route_filter_by_uuid**](RouteFiltersApi.md#get_route_filter_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId} | Get Filter By UUID +[**get_route_filter_change_by_uuid**](RouteFiltersApi.md#get_route_filter_change_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId} | Get Change By ID +[**get_route_filter_changes**](RouteFiltersApi.md#get_route_filter_changes) | **GET** /fabric/v4/routeFilters/{routeFilterId}/changes | Get All Changes +[**get_route_filter_connections**](RouteFiltersApi.md#get_route_filter_connections) | **GET** /fabric/v4/routeFilters/{routeFilterId}/connections | Get Connections +[**patch_route_filter_by_uuid**](RouteFiltersApi.md#patch_route_filter_by_uuid) | **PATCH** /fabric/v4/routeFilters/{routeFilterId} | Patch Route Filter +[**search_route_filters**](RouteFiltersApi.md#search_route_filters) | **POST** /fabric/v4/routeFilters/search | Search Route Filters + + +# **attach_connection_route_filter** +> ConnectionRouteFilterData attach_connection_route_filter(route_filter_id, connection_id, connection_route_filters_base) + +Attach Route Filter + +This API provides capability to attach a Route Filter to a Connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData +from equinix.services.fabricv4.models.connection_route_filters_base import ConnectionRouteFiltersBase +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + connection_id = 'connection_id_example' # str | Connection Id + connection_route_filters_base = equinix.services.fabricv4.ConnectionRouteFiltersBase() # ConnectionRouteFiltersBase | + + try: + # Attach Route Filter + api_response = api_instance.attach_connection_route_filter(route_filter_id, connection_id, connection_route_filters_base) + print("The response of RouteFiltersApi->attach_connection_route_filter:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->attach_connection_route_filter: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **connection_id** | **str**| Connection Id | + **connection_route_filters_base** | [**ConnectionRouteFiltersBase**](ConnectionRouteFiltersBase.md)| | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **create_route_filter** +> RouteFiltersData create_route_filter(route_filters_base) + +Create Route Filters + +This API provides capability to create a Route Filter + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +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.RouteFiltersApi(api_client) + route_filters_base = equinix.services.fabricv4.RouteFiltersBase() # RouteFiltersBase | + + try: + # Create Route Filters + api_response = api_instance.create_route_filter(route_filters_base) + print("The response of RouteFiltersApi->create_route_filter:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->create_route_filter: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filters_base** | [**RouteFiltersBase**](RouteFiltersBase.md)| | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **delete_route_filter_by_uuid** +> RouteFiltersData delete_route_filter_by_uuid(route_filter_id) + +Delete Route Filter + +This API provides capability to delete a Route Filter + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + + try: + # Delete Route Filter + api_response = api_instance.delete_route_filter_by_uuid(route_filter_id) + print("The response of RouteFiltersApi->delete_route_filter_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->delete_route_filter_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **detach_connection_route_filter** +> ConnectionRouteFilterData detach_connection_route_filter(route_filter_id, connection_id) + +Detach Route Filter + +This API provides capability to detach a Route Filter from a Connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + connection_id = 'connection_id_example' # str | Connection Id + + try: + # Detach Route Filter + api_response = api_instance.detach_connection_route_filter(route_filter_id, connection_id) + print("The response of RouteFiltersApi->detach_connection_route_filter:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->detach_connection_route_filter: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **connection_id** | **str**| Connection Id | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_connection_route_filter_by_uuid** +> ConnectionRouteFilterData get_connection_route_filter_by_uuid(route_filter_id, connection_id) + +Get Route Filter + +This API provides capability to view a specific Route Filter attached to a Connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + connection_id = 'connection_id_example' # str | Connection Id + + try: + # Get Route Filter + api_response = api_instance.get_connection_route_filter_by_uuid(route_filter_id, connection_id) + print("The response of RouteFiltersApi->get_connection_route_filter_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->get_connection_route_filter_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **connection_id** | **str**| Connection Id | + +### Return type + +[**ConnectionRouteFilterData**](ConnectionRouteFilterData.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_connection_route_filters** +> GetAllConnectionRouteFiltersResponse get_connection_route_filters(connection_id) + +Get All RouteFilters + +This API provides capability to view all Route Filters attached to a Connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_all_connection_route_filters_response import GetAllConnectionRouteFiltersResponse +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.RouteFiltersApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + + try: + # Get All RouteFilters + api_response = api_instance.get_connection_route_filters(connection_id) + print("The response of RouteFiltersApi->get_connection_route_filters:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->get_connection_route_filters: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + +### Return type + +[**GetAllConnectionRouteFiltersResponse**](GetAllConnectionRouteFiltersResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_route_filter_by_uuid** +> RouteFiltersData get_route_filter_by_uuid(route_filter_id) + +Get Filter By UUID + +This API provides capability to view a Route Filter by UUID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + + try: + # Get Filter By UUID + api_response = api_instance.get_route_filter_by_uuid(route_filter_id) + print("The response of RouteFiltersApi->get_route_filter_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->get_route_filter_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_route_filter_change_by_uuid** +> RouteFilterChangeData get_route_filter_change_by_uuid(route_filter_id, change_id) + +Get Change By ID + +This API provides capability to retrieve a specific Route Filter's Changes + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + change_id = 'change_id_example' # str | Routing Protocol Change UUID + + try: + # Get Change By ID + api_response = api_instance.get_route_filter_change_by_uuid(route_filter_id, change_id) + print("The response of RouteFiltersApi->get_route_filter_change_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->get_route_filter_change_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **change_id** | **str**| Routing Protocol Change UUID | + +### Return type + +[**RouteFilterChangeData**](RouteFilterChangeData.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** | Fabric Route Filter Change object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID 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_route_filter_changes** +> RouteFilterChangeDataResponse get_route_filter_changes(route_filter_id, offset=offset, limit=limit) + +Get All Changes + +This API provides capability to retrieve all of a Route Filter's Changes + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filter_change_data_response import RouteFilterChangeDataResponse +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # Get All Changes + api_response = api_instance.get_route_filter_changes(route_filter_id, offset=offset, limit=limit) + print("The response of RouteFiltersApi->get_route_filter_changes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->get_route_filter_changes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**RouteFilterChangeDataResponse**](RouteFilterChangeDataResponse.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** | Fabric Route Filter Change object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID 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_route_filter_connections** +> GetRouteFilterGetConnectionsResponse get_route_filter_connections(route_filter_id) + +Get Connections + +This API provides capability to view all Connections using the Route Filter + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_route_filter_get_connections_response import GetRouteFilterGetConnectionsResponse +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + + try: + # Get Connections + api_response = api_instance.get_route_filter_connections(route_filter_id) + print("The response of RouteFiltersApi->get_route_filter_connections:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->get_route_filter_connections: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + +### Return type + +[**GetRouteFilterGetConnectionsResponse**](GetRouteFilterGetConnectionsResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **patch_route_filter_by_uuid** +> RouteFiltersData patch_route_filter_by_uuid(route_filter_id, route_filters_patch_request_item) + +Patch Route Filter + +This API provides capability to partially update a Route Filter + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +from equinix.services.fabricv4.models.route_filters_patch_request_item import RouteFiltersPatchRequestItem +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.RouteFiltersApi(api_client) + route_filter_id = 'route_filter_id_example' # str | Route Filters Id + route_filters_patch_request_item = [equinix.services.fabricv4.RouteFiltersPatchRequestItem()] # List[RouteFiltersPatchRequestItem] | + + try: + # Patch Route Filter + api_response = api_instance.patch_route_filter_by_uuid(route_filter_id, route_filters_patch_request_item) + print("The response of RouteFiltersApi->patch_route_filter_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->patch_route_filter_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filter_id** | **str**| Route Filters Id | + **route_filters_patch_request_item** | [**List[RouteFiltersPatchRequestItem]**](RouteFiltersPatchRequestItem.md)| | + +### Return type + +[**RouteFiltersData**](RouteFiltersData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_route_filters** +> RouteFiltersSearchResponse search_route_filters(route_filters_search_base) + +Search Route Filters + +This API provides capability to search Route Filters + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.route_filters_search_base import RouteFiltersSearchBase +from equinix.services.fabricv4.models.route_filters_search_response import RouteFiltersSearchResponse +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.RouteFiltersApi(api_client) + route_filters_search_base = equinix.services.fabricv4.RouteFiltersSearchBase() # RouteFiltersSearchBase | + + try: + # Search Route Filters + api_response = api_instance.search_route_filters(route_filters_search_base) + print("The response of RouteFiltersApi->search_route_filters:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RouteFiltersApi->search_route_filters: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **route_filters_search_base** | [**RouteFiltersSearchBase**](RouteFiltersSearchBase.md)| | + +### Return type + +[**RouteFiltersSearchResponse**](RouteFiltersSearchResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Route Filter ID Not Found | - | +**415** | Unsupported Media Type | - | +**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/RouteFiltersBase.md b/equinix/services/fabricv4/docs/RouteFiltersBase.md new file mode 100644 index 00000000..61746511 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersBase.md @@ -0,0 +1,32 @@ +# RouteFiltersBase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ConnectionRouteFilterDataType**](ConnectionRouteFilterDataType.md) | | +**name** | **str** | | +**description** | **str** | Customer-provided connection description | [optional] +**project** | [**Project**](Project.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersBase from a JSON string +route_filters_base_instance = RouteFiltersBase.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersBase.to_json()) + +# convert the object into a dict +route_filters_base_dict = route_filters_base_instance.to_dict() +# create an instance of RouteFiltersBase from a dict +route_filters_base_form_dict = route_filters_base.from_dict(route_filters_base_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/RouteFiltersChange.md b/equinix/services/fabricv4/docs/RouteFiltersChange.md new file mode 100644 index 00000000..3290534f --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersChange.md @@ -0,0 +1,32 @@ +# RouteFiltersChange + +Current state of latest Route Filter change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Uniquely identifies a change | +**type** | [**RouteFiltersChangeType**](RouteFiltersChangeType.md) | | +**href** | **str** | Route Filter Change URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_change import RouteFiltersChange + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersChange from a JSON string +route_filters_change_instance = RouteFiltersChange.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersChange.to_json()) + +# convert the object into a dict +route_filters_change_dict = route_filters_change_instance.to_dict() +# create an instance of RouteFiltersChange from a dict +route_filters_change_form_dict = route_filters_change.from_dict(route_filters_change_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/RouteFiltersChangeOperation.md b/equinix/services/fabricv4/docs/RouteFiltersChangeOperation.md new file mode 100644 index 00000000..ca2a9592 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersChangeOperation.md @@ -0,0 +1,32 @@ +# RouteFiltersChangeOperation + +Route Filter change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**RoutingProtocolChangeOperationOp**](RoutingProtocolChangeOperationOp.md) | | +**path** | **str** | path inside document leading to updated parameter | +**value** | [**RouteFiltersBase**](RouteFiltersBase.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_change_operation import RouteFiltersChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersChangeOperation from a JSON string +route_filters_change_operation_instance = RouteFiltersChangeOperation.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersChangeOperation.to_json()) + +# convert the object into a dict +route_filters_change_operation_dict = route_filters_change_operation_instance.to_dict() +# create an instance of RouteFiltersChangeOperation from a dict +route_filters_change_operation_form_dict = route_filters_change_operation.from_dict(route_filters_change_operation_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/RouteFiltersChangeType.md b/equinix/services/fabricv4/docs/RouteFiltersChangeType.md new file mode 100644 index 00000000..cf23f8c5 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersChangeType.md @@ -0,0 +1,12 @@ +# RouteFiltersChangeType + +Type of change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFiltersData.md b/equinix/services/fabricv4/docs/RouteFiltersData.md new file mode 100644 index 00000000..37de6fe4 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersData.md @@ -0,0 +1,40 @@ +# RouteFiltersData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Route Filter URI | [optional] +**type** | [**ConnectionRouteFilterDataType**](ConnectionRouteFilterDataType.md) | | [optional] +**uuid** | **str** | Route Filter identifier | [optional] +**name** | **str** | | [optional] +**description** | **str** | Customer-provided connection description | [optional] +**state** | [**RouteFilterState**](RouteFilterState.md) | | [optional] +**change** | [**RouteFiltersChange**](RouteFiltersChange.md) | | [optional] +**not_matched_rule_action** | [**RouteFiltersDataNotMatchedRuleAction**](RouteFiltersDataNotMatchedRuleAction.md) | | [optional] +**connections_count** | **int** | | [optional] +**rules_count** | **int** | | [optional] +**project** | [**RouteFiltersDataProject**](RouteFiltersDataProject.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersData from a JSON string +route_filters_data_instance = RouteFiltersData.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersData.to_json()) + +# convert the object into a dict +route_filters_data_dict = route_filters_data_instance.to_dict() +# create an instance of RouteFiltersData from a dict +route_filters_data_form_dict = route_filters_data.from_dict(route_filters_data_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/RouteFiltersDataNotMatchedRuleAction.md b/equinix/services/fabricv4/docs/RouteFiltersDataNotMatchedRuleAction.md new file mode 100644 index 00000000..06175166 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersDataNotMatchedRuleAction.md @@ -0,0 +1,11 @@ +# RouteFiltersDataNotMatchedRuleAction + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFiltersDataProject.md b/equinix/services/fabricv4/docs/RouteFiltersDataProject.md new file mode 100644 index 00000000..c6abbf55 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersDataProject.md @@ -0,0 +1,30 @@ +# RouteFiltersDataProject + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project_id** | **str** | Subscriber-assigned project ID | +**href** | **str** | Project URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_data_project import RouteFiltersDataProject + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersDataProject from a JSON string +route_filters_data_project_instance = RouteFiltersDataProject.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersDataProject.to_json()) + +# convert the object into a dict +route_filters_data_project_dict = route_filters_data_project_instance.to_dict() +# create an instance of RouteFiltersDataProject from a dict +route_filters_data_project_form_dict = route_filters_data_project.from_dict(route_filters_data_project_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/RouteFiltersPatchRequestItem.md b/equinix/services/fabricv4/docs/RouteFiltersPatchRequestItem.md new file mode 100644 index 00000000..72dfac35 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersPatchRequestItem.md @@ -0,0 +1,32 @@ +# RouteFiltersPatchRequestItem + +Route Filter change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | **str** | Handy shortcut for operation name | +**path** | **str** | path to change | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_patch_request_item import RouteFiltersPatchRequestItem + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersPatchRequestItem from a JSON string +route_filters_patch_request_item_instance = RouteFiltersPatchRequestItem.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersPatchRequestItem.to_json()) + +# convert the object into a dict +route_filters_patch_request_item_dict = route_filters_patch_request_item_instance.to_dict() +# create an instance of RouteFiltersPatchRequestItem from a dict +route_filters_patch_request_item_form_dict = route_filters_patch_request_item.from_dict(route_filters_patch_request_item_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/RouteFiltersSearchBase.md b/equinix/services/fabricv4/docs/RouteFiltersSearchBase.md new file mode 100644 index 00000000..f786e527 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersSearchBase.md @@ -0,0 +1,31 @@ +# RouteFiltersSearchBase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**RouteFiltersSearchBaseFilter**](RouteFiltersSearchBaseFilter.md) | | [optional] +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**sort** | [**List[SortItem]**](SortItem.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_search_base import RouteFiltersSearchBase + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersSearchBase from a JSON string +route_filters_search_base_instance = RouteFiltersSearchBase.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersSearchBase.to_json()) + +# convert the object into a dict +route_filters_search_base_dict = route_filters_search_base_instance.to_dict() +# create an instance of RouteFiltersSearchBase from a dict +route_filters_search_base_form_dict = route_filters_search_base.from_dict(route_filters_search_base_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/RouteFiltersSearchBaseFilter.md b/equinix/services/fabricv4/docs/RouteFiltersSearchBaseFilter.md new file mode 100644 index 00000000..7d91598a --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersSearchBaseFilter.md @@ -0,0 +1,29 @@ +# RouteFiltersSearchBaseFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[RouteFiltersSearchFilterItem]**](RouteFiltersSearchFilterItem.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_search_base_filter import RouteFiltersSearchBaseFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersSearchBaseFilter from a JSON string +route_filters_search_base_filter_instance = RouteFiltersSearchBaseFilter.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersSearchBaseFilter.to_json()) + +# convert the object into a dict +route_filters_search_base_filter_dict = route_filters_search_base_filter_instance.to_dict() +# create an instance of RouteFiltersSearchBaseFilter from a dict +route_filters_search_base_filter_form_dict = route_filters_search_base_filter.from_dict(route_filters_search_base_filter_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/RouteFiltersSearchFilterItem.md b/equinix/services/fabricv4/docs/RouteFiltersSearchFilterItem.md new file mode 100644 index 00000000..e42f6d10 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersSearchFilterItem.md @@ -0,0 +1,31 @@ +# RouteFiltersSearchFilterItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | [**RouteFiltersSearchFilterItemProperty**](RouteFiltersSearchFilterItemProperty.md) | | [optional] +**operator** | **str** | | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_search_filter_item import RouteFiltersSearchFilterItem + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersSearchFilterItem from a JSON string +route_filters_search_filter_item_instance = RouteFiltersSearchFilterItem.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersSearchFilterItem.to_json()) + +# convert the object into a dict +route_filters_search_filter_item_dict = route_filters_search_filter_item_instance.to_dict() +# create an instance of RouteFiltersSearchFilterItem from a dict +route_filters_search_filter_item_form_dict = route_filters_search_filter_item.from_dict(route_filters_search_filter_item_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/RouteFiltersSearchFilterItemProperty.md b/equinix/services/fabricv4/docs/RouteFiltersSearchFilterItemProperty.md new file mode 100644 index 00000000..49a54956 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersSearchFilterItemProperty.md @@ -0,0 +1,11 @@ +# RouteFiltersSearchFilterItemProperty + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteFiltersSearchResponse.md b/equinix/services/fabricv4/docs/RouteFiltersSearchResponse.md new file mode 100644 index 00000000..8ab16f38 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteFiltersSearchResponse.md @@ -0,0 +1,30 @@ +# RouteFiltersSearchResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RouteFiltersData]**](RouteFiltersData.md) | List of Route Filters | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_filters_search_response import RouteFiltersSearchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteFiltersSearchResponse from a JSON string +route_filters_search_response_instance = RouteFiltersSearchResponse.from_json(json) +# print the JSON string representation of the object +print(RouteFiltersSearchResponse.to_json()) + +# convert the object into a dict +route_filters_search_response_dict = route_filters_search_response_instance.to_dict() +# create an instance of RouteFiltersSearchResponse from a dict +route_filters_search_response_form_dict = route_filters_search_response.from_dict(route_filters_search_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/RouteTableEntry.md b/equinix/services/fabricv4/docs/RouteTableEntry.md new file mode 100644 index 00000000..588a5343 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntry.md @@ -0,0 +1,40 @@ +# RouteTableEntry + +Route table entry object + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**RouteTableEntryType**](RouteTableEntryType.md) | | +**protocol_type** | [**RouteTableEntryProtocolType**](RouteTableEntryProtocolType.md) | | [optional] +**state** | [**RouteTableEntryState**](RouteTableEntryState.md) | | +**age** | **str** | | [optional] +**prefix** | **str** | | [optional] +**next_hop** | **str** | | [optional] +**metric** | **int** | | [optional] +**local_preference** | **int** | | [optional] +**as_path** | **List[int]** | | [optional] +**connection** | [**RouteTableEntryConnection**](RouteTableEntryConnection.md) | | [optional] +**change_log** | [**Changelog**](Changelog.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry import RouteTableEntry + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntry from a JSON string +route_table_entry_instance = RouteTableEntry.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntry.to_json()) + +# convert the object into a dict +route_table_entry_dict = route_table_entry_instance.to_dict() +# create an instance of RouteTableEntry from a dict +route_table_entry_form_dict = route_table_entry.from_dict(route_table_entry_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/RouteTableEntryConnection.md b/equinix/services/fabricv4/docs/RouteTableEntryConnection.md new file mode 100644 index 00000000..3a3a0695 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryConnection.md @@ -0,0 +1,30 @@ +# RouteTableEntryConnection + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] +**name** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_connection import RouteTableEntryConnection + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntryConnection from a JSON string +route_table_entry_connection_instance = RouteTableEntryConnection.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntryConnection.to_json()) + +# convert the object into a dict +route_table_entry_connection_dict = route_table_entry_connection_instance.to_dict() +# create an instance of RouteTableEntryConnection from a dict +route_table_entry_connection_form_dict = route_table_entry_connection.from_dict(route_table_entry_connection_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/RouteTableEntryFilter.md b/equinix/services/fabricv4/docs/RouteTableEntryFilter.md new file mode 100644 index 00000000..162400e9 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryFilter.md @@ -0,0 +1,32 @@ +# RouteTableEntryFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Possible field names to use on filters: * `/type` - Route table entry type * `/prefix` - Route table entry prefix * `/nextHop` - Route table entry nextHop * `/state` - Route table entry state * `/*` - all-category search | [optional] +**operator** | **str** | Possible operators to use on filters: * `=` - equal * `!=` - not equal * `>` - greater than * `>=` - greater than or equal to * `<` - less than * `<=` - less than or equal to * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `~*` - case-insensitive like | [optional] +**values** | **List[str]** | | [optional] +**var_or** | [**List[RouteTableEntrySimpleExpression]**](RouteTableEntrySimpleExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_filter import RouteTableEntryFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntryFilter from a JSON string +route_table_entry_filter_instance = RouteTableEntryFilter.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntryFilter.to_json()) + +# convert the object into a dict +route_table_entry_filter_dict = route_table_entry_filter_instance.to_dict() +# create an instance of RouteTableEntryFilter from a dict +route_table_entry_filter_form_dict = route_table_entry_filter.from_dict(route_table_entry_filter_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/RouteTableEntryFilters.md b/equinix/services/fabricv4/docs/RouteTableEntryFilters.md new file mode 100644 index 00000000..ea9d3171 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryFilters.md @@ -0,0 +1,29 @@ +# RouteTableEntryFilters + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[RouteTableEntryFilter]**](RouteTableEntryFilter.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_filters import RouteTableEntryFilters + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntryFilters from a JSON string +route_table_entry_filters_instance = RouteTableEntryFilters.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntryFilters.to_json()) + +# convert the object into a dict +route_table_entry_filters_dict = route_table_entry_filters_instance.to_dict() +# create an instance of RouteTableEntryFilters from a dict +route_table_entry_filters_form_dict = route_table_entry_filters.from_dict(route_table_entry_filters_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/RouteTableEntryOrFilter.md b/equinix/services/fabricv4/docs/RouteTableEntryOrFilter.md new file mode 100644 index 00000000..5acd56ba --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryOrFilter.md @@ -0,0 +1,29 @@ +# RouteTableEntryOrFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_or** | [**List[RouteTableEntrySimpleExpression]**](RouteTableEntrySimpleExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_or_filter import RouteTableEntryOrFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntryOrFilter from a JSON string +route_table_entry_or_filter_instance = RouteTableEntryOrFilter.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntryOrFilter.to_json()) + +# convert the object into a dict +route_table_entry_or_filter_dict = route_table_entry_or_filter_instance.to_dict() +# create an instance of RouteTableEntryOrFilter from a dict +route_table_entry_or_filter_form_dict = route_table_entry_or_filter.from_dict(route_table_entry_or_filter_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/RouteTableEntryProtocolType.md b/equinix/services/fabricv4/docs/RouteTableEntryProtocolType.md new file mode 100644 index 00000000..2637b627 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryProtocolType.md @@ -0,0 +1,12 @@ +# RouteTableEntryProtocolType + +Route table entry protocol type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteTableEntrySearchRequest.md b/equinix/services/fabricv4/docs/RouteTableEntrySearchRequest.md new file mode 100644 index 00000000..5dc1c59d --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntrySearchRequest.md @@ -0,0 +1,32 @@ +# RouteTableEntrySearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**RouteTableEntryFilters**](RouteTableEntryFilters.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] +**sort** | [**List[RouteTableEntrySortCriteria]**](RouteTableEntrySortCriteria.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_search_request import RouteTableEntrySearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntrySearchRequest from a JSON string +route_table_entry_search_request_instance = RouteTableEntrySearchRequest.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntrySearchRequest.to_json()) + +# convert the object into a dict +route_table_entry_search_request_dict = route_table_entry_search_request_instance.to_dict() +# create an instance of RouteTableEntrySearchRequest from a dict +route_table_entry_search_request_form_dict = route_table_entry_search_request.from_dict(route_table_entry_search_request_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/RouteTableEntrySearchResponse.md b/equinix/services/fabricv4/docs/RouteTableEntrySearchResponse.md new file mode 100644 index 00000000..e9a73c76 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntrySearchResponse.md @@ -0,0 +1,30 @@ +# RouteTableEntrySearchResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RouteTableEntry]**](RouteTableEntry.md) | Data returned from the API call. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_search_response import RouteTableEntrySearchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntrySearchResponse from a JSON string +route_table_entry_search_response_instance = RouteTableEntrySearchResponse.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntrySearchResponse.to_json()) + +# convert the object into a dict +route_table_entry_search_response_dict = route_table_entry_search_response_instance.to_dict() +# create an instance of RouteTableEntrySearchResponse from a dict +route_table_entry_search_response_form_dict = route_table_entry_search_response.from_dict(route_table_entry_search_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/RouteTableEntrySimpleExpression.md b/equinix/services/fabricv4/docs/RouteTableEntrySimpleExpression.md new file mode 100644 index 00000000..888c3056 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntrySimpleExpression.md @@ -0,0 +1,31 @@ +# RouteTableEntrySimpleExpression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Possible field names to use on filters: * `/type` - Route table entry type * `/prefix` - Route table entry prefix * `/nextHop` - Route table entry nextHop * `/state` - Route table entry state * `/*` - all-category search | [optional] +**operator** | **str** | Possible operators to use on filters: * `=` - equal * `!=` - not equal * `>` - greater than * `>=` - greater than or equal to * `<` - less than * `<=` - less than or equal to * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `~*` - case-insensitive like | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_simple_expression import RouteTableEntrySimpleExpression + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntrySimpleExpression from a JSON string +route_table_entry_simple_expression_instance = RouteTableEntrySimpleExpression.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntrySimpleExpression.to_json()) + +# convert the object into a dict +route_table_entry_simple_expression_dict = route_table_entry_simple_expression_instance.to_dict() +# create an instance of RouteTableEntrySimpleExpression from a dict +route_table_entry_simple_expression_form_dict = route_table_entry_simple_expression.from_dict(route_table_entry_simple_expression_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/RouteTableEntrySortBy.md b/equinix/services/fabricv4/docs/RouteTableEntrySortBy.md new file mode 100644 index 00000000..f36060f1 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntrySortBy.md @@ -0,0 +1,12 @@ +# RouteTableEntrySortBy + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteTableEntrySortCriteria.md b/equinix/services/fabricv4/docs/RouteTableEntrySortCriteria.md new file mode 100644 index 00000000..94559dec --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntrySortCriteria.md @@ -0,0 +1,30 @@ +# RouteTableEntrySortCriteria + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**RouteTableEntrySortDirection**](RouteTableEntrySortDirection.md) | | [optional] +**var_property** | [**RouteTableEntrySortBy**](RouteTableEntrySortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.route_table_entry_sort_criteria import RouteTableEntrySortCriteria + +# TODO update the JSON string below +json = "{}" +# create an instance of RouteTableEntrySortCriteria from a JSON string +route_table_entry_sort_criteria_instance = RouteTableEntrySortCriteria.from_json(json) +# print the JSON string representation of the object +print(RouteTableEntrySortCriteria.to_json()) + +# convert the object into a dict +route_table_entry_sort_criteria_dict = route_table_entry_sort_criteria_instance.to_dict() +# create an instance of RouteTableEntrySortCriteria from a dict +route_table_entry_sort_criteria_form_dict = route_table_entry_sort_criteria.from_dict(route_table_entry_sort_criteria_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/RouteTableEntrySortDirection.md b/equinix/services/fabricv4/docs/RouteTableEntrySortDirection.md new file mode 100644 index 00000000..144cf6ea --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntrySortDirection.md @@ -0,0 +1,12 @@ +# RouteTableEntrySortDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteTableEntryState.md b/equinix/services/fabricv4/docs/RouteTableEntryState.md new file mode 100644 index 00000000..3038d07e --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryState.md @@ -0,0 +1,12 @@ +# RouteTableEntryState + +Route table entry state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouteTableEntryType.md b/equinix/services/fabricv4/docs/RouteTableEntryType.md new file mode 100644 index 00000000..1af4a207 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouteTableEntryType.md @@ -0,0 +1,12 @@ +# RouteTableEntryType + +Route table entry type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RouterPackageCode.md b/equinix/services/fabricv4/docs/RouterPackageCode.md new file mode 100644 index 00000000..d222d4c0 --- /dev/null +++ b/equinix/services/fabricv4/docs/RouterPackageCode.md @@ -0,0 +1,12 @@ +# RouterPackageCode + +Router package code + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RoutingProtocolBFD.md b/equinix/services/fabricv4/docs/RoutingProtocolBFD.md new file mode 100644 index 00000000..8e20987c --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolBFD.md @@ -0,0 +1,30 @@ +# RoutingProtocolBFD + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | | +**interval** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_bfd import RoutingProtocolBFD + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolBFD from a JSON string +routing_protocol_bfd_instance = RoutingProtocolBFD.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolBFD.to_json()) + +# convert the object into a dict +routing_protocol_bfd_dict = routing_protocol_bfd_instance.to_dict() +# create an instance of RoutingProtocolBFD from a dict +routing_protocol_bfd_form_dict = routing_protocol_bfd.from_dict(routing_protocol_bfd_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/RoutingProtocolBGPData.md b/equinix/services/fabricv4/docs/RoutingProtocolBGPData.md new file mode 100644 index 00000000..07748af8 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolBGPData.md @@ -0,0 +1,42 @@ +# RoutingProtocolBGPData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**RoutingProtocolBGPTypeType**](RoutingProtocolBGPTypeType.md) | | [optional] +**name** | **str** | | [optional] +**bgp_ipv4** | [**BGPConnectionIpv4**](BGPConnectionIpv4.md) | | [optional] +**bgp_ipv6** | [**BGPConnectionIpv6**](BGPConnectionIpv6.md) | | [optional] +**customer_asn** | **int** | Customer asn | [optional] +**equinix_asn** | **int** | Equinix asn | [optional] +**bgp_auth_key** | **str** | BGP authorization key | [optional] +**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] +**href** | **str** | Routing Protocol URI | [optional] +**uuid** | **str** | Routing protocol identifier | [optional] +**state** | [**RoutingProtocolBGPDataState**](RoutingProtocolBGPDataState.md) | | [optional] +**operation** | [**RoutingProtocolOperation**](RoutingProtocolOperation.md) | | [optional] +**change** | [**RoutingProtocolChange**](RoutingProtocolChange.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_bgp_data import RoutingProtocolBGPData + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolBGPData from a JSON string +routing_protocol_bgp_data_instance = RoutingProtocolBGPData.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolBGPData.to_json()) + +# convert the object into a dict +routing_protocol_bgp_data_dict = routing_protocol_bgp_data_instance.to_dict() +# create an instance of RoutingProtocolBGPData from a dict +routing_protocol_bgp_data_form_dict = routing_protocol_bgp_data.from_dict(routing_protocol_bgp_data_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/RoutingProtocolBGPDataState.md b/equinix/services/fabricv4/docs/RoutingProtocolBGPDataState.md new file mode 100644 index 00000000..055f7f94 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolBGPDataState.md @@ -0,0 +1,11 @@ +# RoutingProtocolBGPDataState + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RoutingProtocolBGPType.md b/equinix/services/fabricv4/docs/RoutingProtocolBGPType.md new file mode 100644 index 00000000..2c0659d7 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolBGPType.md @@ -0,0 +1,36 @@ +# RoutingProtocolBGPType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**RoutingProtocolBGPTypeType**](RoutingProtocolBGPTypeType.md) | | +**name** | **str** | | [optional] +**bgp_ipv4** | [**BGPConnectionIpv4**](BGPConnectionIpv4.md) | | [optional] +**bgp_ipv6** | [**BGPConnectionIpv6**](BGPConnectionIpv6.md) | | [optional] +**customer_asn** | **int** | Customer asn | [optional] +**equinix_asn** | **int** | Equinix asn | [optional] +**bgp_auth_key** | **str** | BGP authorization key | [optional] +**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_bgp_type import RoutingProtocolBGPType + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolBGPType from a JSON string +routing_protocol_bgp_type_instance = RoutingProtocolBGPType.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolBGPType.to_json()) + +# convert the object into a dict +routing_protocol_bgp_type_dict = routing_protocol_bgp_type_instance.to_dict() +# create an instance of RoutingProtocolBGPType from a dict +routing_protocol_bgp_type_form_dict = routing_protocol_bgp_type.from_dict(routing_protocol_bgp_type_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/RoutingProtocolBGPTypeType.md b/equinix/services/fabricv4/docs/RoutingProtocolBGPTypeType.md new file mode 100644 index 00000000..dad9f1ca --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolBGPTypeType.md @@ -0,0 +1,12 @@ +# RoutingProtocolBGPTypeType + +Routing protocol type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RoutingProtocolBase.md b/equinix/services/fabricv4/docs/RoutingProtocolBase.md new file mode 100644 index 00000000..dbc55035 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolBase.md @@ -0,0 +1,38 @@ +# RoutingProtocolBase + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Routing protocol type | [optional] +**name** | **str** | | [optional] +**bgp_ipv4** | [**BGPConnectionIpv4**](BGPConnectionIpv4.md) | | [optional] +**bgp_ipv6** | [**BGPConnectionIpv6**](BGPConnectionIpv6.md) | | [optional] +**customer_asn** | **int** | Customer asn | [optional] +**equinix_asn** | **int** | Equinix asn | [optional] +**bgp_auth_key** | **str** | BGP authorization key | [optional] +**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] +**direct_ipv4** | [**DirectConnectionIpv4**](DirectConnectionIpv4.md) | | [optional] +**direct_ipv6** | [**DirectConnectionIpv6**](DirectConnectionIpv6.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolBase from a JSON string +routing_protocol_base_instance = RoutingProtocolBase.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolBase.to_json()) + +# convert the object into a dict +routing_protocol_base_dict = routing_protocol_base_instance.to_dict() +# create an instance of RoutingProtocolBase from a dict +routing_protocol_base_form_dict = routing_protocol_base.from_dict(routing_protocol_base_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/RoutingProtocolChange.md b/equinix/services/fabricv4/docs/RoutingProtocolChange.md new file mode 100644 index 00000000..51774d96 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolChange.md @@ -0,0 +1,32 @@ +# RoutingProtocolChange + +Current state of latest Routing Protocol change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Uniquely identifies a change | +**type** | [**RoutingProtocolChangeType**](RoutingProtocolChangeType.md) | | +**href** | **str** | Routing Protocol Change URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_change import RoutingProtocolChange + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolChange from a JSON string +routing_protocol_change_instance = RoutingProtocolChange.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolChange.to_json()) + +# convert the object into a dict +routing_protocol_change_dict = routing_protocol_change_instance.to_dict() +# create an instance of RoutingProtocolChange from a dict +routing_protocol_change_form_dict = routing_protocol_change.from_dict(routing_protocol_change_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/RoutingProtocolChangeData.md b/equinix/services/fabricv4/docs/RoutingProtocolChangeData.md new file mode 100644 index 00000000..4fae2ef2 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolChangeData.md @@ -0,0 +1,39 @@ +# RoutingProtocolChangeData + +Current state of latest Routing Protocol change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**status** | **str** | Current outcome of the change flow | [optional] +**created_by** | **str** | Created by User Key | [optional] +**created_date_time** | **datetime** | Set when change flow starts | [optional] +**updated_by** | **str** | Updated by User Key | [optional] +**updated_date_time** | **datetime** | Set when change object is updated | [optional] +**information** | **str** | Additional information | [optional] +**data** | [**RoutingProtocolChangeOperation**](RoutingProtocolChangeOperation.md) | | [optional] +**uuid** | **str** | Uniquely identifies a change | +**type** | [**RoutingProtocolChangeType**](RoutingProtocolChangeType.md) | | +**href** | **str** | Routing Protocol Change URI | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolChangeData from a JSON string +routing_protocol_change_data_instance = RoutingProtocolChangeData.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolChangeData.to_json()) + +# convert the object into a dict +routing_protocol_change_data_dict = routing_protocol_change_data_instance.to_dict() +# create an instance of RoutingProtocolChangeData from a dict +routing_protocol_change_data_form_dict = routing_protocol_change_data.from_dict(routing_protocol_change_data_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/RoutingProtocolChangeDataResponse.md b/equinix/services/fabricv4/docs/RoutingProtocolChangeDataResponse.md new file mode 100644 index 00000000..1798989e --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolChangeDataResponse.md @@ -0,0 +1,31 @@ +# RoutingProtocolChangeDataResponse + +List of network changes + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[RoutingProtocolChangeData]**](RoutingProtocolChangeData.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_change_data_response import RoutingProtocolChangeDataResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolChangeDataResponse from a JSON string +routing_protocol_change_data_response_instance = RoutingProtocolChangeDataResponse.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolChangeDataResponse.to_json()) + +# convert the object into a dict +routing_protocol_change_data_response_dict = routing_protocol_change_data_response_instance.to_dict() +# create an instance of RoutingProtocolChangeDataResponse from a dict +routing_protocol_change_data_response_form_dict = routing_protocol_change_data_response.from_dict(routing_protocol_change_data_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/RoutingProtocolChangeOperation.md b/equinix/services/fabricv4/docs/RoutingProtocolChangeOperation.md new file mode 100644 index 00000000..6a7fa8dc --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolChangeOperation.md @@ -0,0 +1,32 @@ +# RoutingProtocolChangeOperation + +Routing Protocol change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**RoutingProtocolChangeOperationOp**](RoutingProtocolChangeOperationOp.md) | | +**path** | **str** | path inside document leading to updated parameter | +**value** | [**RoutingProtocolBase**](RoutingProtocolBase.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_change_operation import RoutingProtocolChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolChangeOperation from a JSON string +routing_protocol_change_operation_instance = RoutingProtocolChangeOperation.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolChangeOperation.to_json()) + +# convert the object into a dict +routing_protocol_change_operation_dict = routing_protocol_change_operation_instance.to_dict() +# create an instance of RoutingProtocolChangeOperation from a dict +routing_protocol_change_operation_form_dict = routing_protocol_change_operation.from_dict(routing_protocol_change_operation_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/RoutingProtocolChangeOperationOp.md b/equinix/services/fabricv4/docs/RoutingProtocolChangeOperationOp.md new file mode 100644 index 00000000..79bf82ac --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolChangeOperationOp.md @@ -0,0 +1,12 @@ +# RoutingProtocolChangeOperationOp + +Handy shortcut for operation name + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RoutingProtocolChangeType.md b/equinix/services/fabricv4/docs/RoutingProtocolChangeType.md new file mode 100644 index 00000000..b70d3283 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolChangeType.md @@ -0,0 +1,12 @@ +# RoutingProtocolChangeType + +Type of change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RoutingProtocolData.md b/equinix/services/fabricv4/docs/RoutingProtocolData.md new file mode 100644 index 00000000..3bb53435 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolData.md @@ -0,0 +1,44 @@ +# RoutingProtocolData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | **str** | Routing protocol type | [optional] +**name** | **str** | | [optional] +**bgp_ipv4** | [**BGPConnectionIpv4**](BGPConnectionIpv4.md) | | [optional] +**bgp_ipv6** | [**BGPConnectionIpv6**](BGPConnectionIpv6.md) | | [optional] +**customer_asn** | **int** | Customer asn | [optional] +**equinix_asn** | **int** | Equinix asn | [optional] +**bgp_auth_key** | **str** | BGP authorization key | [optional] +**bfd** | [**RoutingProtocolBFD**](RoutingProtocolBFD.md) | | [optional] +**href** | **str** | Routing Protocol URI | [optional] +**uuid** | **str** | Routing protocol identifier | [optional] +**state** | [**RoutingProtocolBGPDataState**](RoutingProtocolBGPDataState.md) | | [optional] +**operation** | [**RoutingProtocolOperation**](RoutingProtocolOperation.md) | | [optional] +**change** | [**RoutingProtocolChange**](RoutingProtocolChange.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] +**direct_ipv4** | [**DirectConnectionIpv4**](DirectConnectionIpv4.md) | | [optional] +**direct_ipv6** | [**DirectConnectionIpv6**](DirectConnectionIpv6.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolData from a JSON string +routing_protocol_data_instance = RoutingProtocolData.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolData.to_json()) + +# convert the object into a dict +routing_protocol_data_dict = routing_protocol_data_instance.to_dict() +# create an instance of RoutingProtocolData from a dict +routing_protocol_data_form_dict = routing_protocol_data.from_dict(routing_protocol_data_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/RoutingProtocolDirectData.md b/equinix/services/fabricv4/docs/RoutingProtocolDirectData.md new file mode 100644 index 00000000..9431db66 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolDirectData.md @@ -0,0 +1,38 @@ +# RoutingProtocolDirectData + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**RoutingProtocolDirectTypeType**](RoutingProtocolDirectTypeType.md) | | [optional] +**name** | **str** | | [optional] +**direct_ipv4** | [**DirectConnectionIpv4**](DirectConnectionIpv4.md) | | [optional] +**direct_ipv6** | [**DirectConnectionIpv6**](DirectConnectionIpv6.md) | | [optional] +**href** | **str** | Routing Protocol URI | [optional] +**uuid** | **str** | Routing protocol identifier | [optional] +**state** | [**RoutingProtocolBGPDataState**](RoutingProtocolBGPDataState.md) | | [optional] +**operation** | [**RoutingProtocolOperation**](RoutingProtocolOperation.md) | | [optional] +**change** | [**RoutingProtocolChange**](RoutingProtocolChange.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_direct_data import RoutingProtocolDirectData + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolDirectData from a JSON string +routing_protocol_direct_data_instance = RoutingProtocolDirectData.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolDirectData.to_json()) + +# convert the object into a dict +routing_protocol_direct_data_dict = routing_protocol_direct_data_instance.to_dict() +# create an instance of RoutingProtocolDirectData from a dict +routing_protocol_direct_data_form_dict = routing_protocol_direct_data.from_dict(routing_protocol_direct_data_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/RoutingProtocolDirectType.md b/equinix/services/fabricv4/docs/RoutingProtocolDirectType.md new file mode 100644 index 00000000..fdbdec17 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolDirectType.md @@ -0,0 +1,32 @@ +# RoutingProtocolDirectType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**RoutingProtocolDirectTypeType**](RoutingProtocolDirectTypeType.md) | | +**name** | **str** | | [optional] +**direct_ipv4** | [**DirectConnectionIpv4**](DirectConnectionIpv4.md) | | [optional] +**direct_ipv6** | [**DirectConnectionIpv6**](DirectConnectionIpv6.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_direct_type import RoutingProtocolDirectType + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolDirectType from a JSON string +routing_protocol_direct_type_instance = RoutingProtocolDirectType.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolDirectType.to_json()) + +# convert the object into a dict +routing_protocol_direct_type_dict = routing_protocol_direct_type_instance.to_dict() +# create an instance of RoutingProtocolDirectType from a dict +routing_protocol_direct_type_form_dict = routing_protocol_direct_type.from_dict(routing_protocol_direct_type_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/RoutingProtocolDirectTypeType.md b/equinix/services/fabricv4/docs/RoutingProtocolDirectTypeType.md new file mode 100644 index 00000000..5dd9676c --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolDirectTypeType.md @@ -0,0 +1,12 @@ +# RoutingProtocolDirectTypeType + +Routing protocol type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/RoutingProtocolOperation.md b/equinix/services/fabricv4/docs/RoutingProtocolOperation.md new file mode 100644 index 00000000..aa70b059 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolOperation.md @@ -0,0 +1,29 @@ +# RoutingProtocolOperation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**errors** | [**List[Error]**](Error.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.routing_protocol_operation import RoutingProtocolOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of RoutingProtocolOperation from a JSON string +routing_protocol_operation_instance = RoutingProtocolOperation.from_json(json) +# print the JSON string representation of the object +print(RoutingProtocolOperation.to_json()) + +# convert the object into a dict +routing_protocol_operation_dict = routing_protocol_operation_instance.to_dict() +# create an instance of RoutingProtocolOperation from a dict +routing_protocol_operation_form_dict = routing_protocol_operation.from_dict(routing_protocol_operation_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/RoutingProtocolsApi.md b/equinix/services/fabricv4/docs/RoutingProtocolsApi.md new file mode 100644 index 00000000..1c8b0691 --- /dev/null +++ b/equinix/services/fabricv4/docs/RoutingProtocolsApi.md @@ -0,0 +1,1156 @@ +# equinix.services.fabricv4.RoutingProtocolsApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_connection_routing_protocol**](RoutingProtocolsApi.md#create_connection_routing_protocol) | **POST** /fabric/v4/connections/{connectionId}/routingProtocols | Create Protocol +[**create_connection_routing_protocols_in_bulk**](RoutingProtocolsApi.md#create_connection_routing_protocols_in_bulk) | **POST** /fabric/v4/connections/{connectionId}/routingProtocols/bulk | Bulk Create Protocol +[**delete_connection_routing_protocol_by_uuid**](RoutingProtocolsApi.md#delete_connection_routing_protocol_by_uuid) | **DELETE** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Delete Protocol +[**get_connection_routing_protocol_all_bgp_actions**](RoutingProtocolsApi.md#get_connection_routing_protocol_all_bgp_actions) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions | Get BGP Actions +[**get_connection_routing_protocol_by_uuid**](RoutingProtocolsApi.md#get_connection_routing_protocol_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Get Protocol +[**get_connection_routing_protocols**](RoutingProtocolsApi.md#get_connection_routing_protocols) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols | GetRoutingProtocols +[**get_connection_routing_protocols_bgp_action_by_uuid**](RoutingProtocolsApi.md#get_connection_routing_protocols_bgp_action_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions/{actionId} | Get BGP Action +[**get_connection_routing_protocols_change_by_uuid**](RoutingProtocolsApi.md#get_connection_routing_protocols_change_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes/{changeId} | Get Change By ID +[**get_connection_routing_protocols_changes**](RoutingProtocolsApi.md#get_connection_routing_protocols_changes) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes | Get Changes +[**patch_connection_routing_protocol_by_uuid**](RoutingProtocolsApi.md#patch_connection_routing_protocol_by_uuid) | **PATCH** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Patch Protocol +[**post_connection_routing_protocol_bgp_action_by_uuid**](RoutingProtocolsApi.md#post_connection_routing_protocol_bgp_action_by_uuid) | **POST** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions | Clear/Reset BGP +[**replace_connection_routing_protocol_by_uuid**](RoutingProtocolsApi.md#replace_connection_routing_protocol_by_uuid) | **PUT** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Replace Protocol +[**validate_routing_protocol**](RoutingProtocolsApi.md#validate_routing_protocol) | **POST** /fabric/v4/routers/{routerId}/validate | Validate Subnet + + +# **create_connection_routing_protocol** +> RoutingProtocolData create_connection_routing_protocol(connection_id, routing_protocol_base) + +Create Protocol + +This API provides capability to create Routing Protocol for connections + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +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.RoutingProtocolsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + routing_protocol_base = equinix.services.fabricv4.RoutingProtocolBase() # RoutingProtocolBase | + + try: + # Create Protocol + api_response = api_instance.create_connection_routing_protocol(connection_id, routing_protocol_base) + print("The response of RoutingProtocolsApi->create_connection_routing_protocol:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->create_connection_routing_protocol: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **routing_protocol_base** | [**RoutingProtocolBase**](RoutingProtocolBase.md)| | + +### Return type + +[**RoutingProtocolData**](RoutingProtocolData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **create_connection_routing_protocols_in_bulk** +> GetResponse create_connection_routing_protocols_in_bulk(connection_id, connection_routing_protocol_post_request) + +Bulk Create Protocol + +This API provides capability to create Routing Protocol for connections + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_routing_protocol_post_request import ConnectionRoutingProtocolPostRequest +from equinix.services.fabricv4.models.get_response import GetResponse +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.RoutingProtocolsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + connection_routing_protocol_post_request = equinix.services.fabricv4.ConnectionRoutingProtocolPostRequest() # ConnectionRoutingProtocolPostRequest | + + try: + # Bulk Create Protocol + api_response = api_instance.create_connection_routing_protocols_in_bulk(connection_id, connection_routing_protocol_post_request) + print("The response of RoutingProtocolsApi->create_connection_routing_protocols_in_bulk:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->create_connection_routing_protocols_in_bulk: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **connection_routing_protocol_post_request** | [**ConnectionRoutingProtocolPostRequest**](ConnectionRoutingProtocolPostRequest.md)| | + +### Return type + +[**GetResponse**](GetResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **delete_connection_routing_protocol_by_uuid** +> RoutingProtocolData delete_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id) + +Delete Protocol + +This API provides capability to delete Routing Protocols on virtual connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +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.RoutingProtocolsApi(api_client) + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + connection_id = 'connection_id_example' # str | Connection Id + + try: + # Delete Protocol + api_response = api_instance.delete_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id) + print("The response of RoutingProtocolsApi->delete_connection_routing_protocol_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->delete_connection_routing_protocol_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **routing_protocol_id** | **str**| Routing Protocol Id | + **connection_id** | **str**| Connection Id | + +### Return type + +[**RoutingProtocolData**](RoutingProtocolData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_connection_routing_protocol_all_bgp_actions** +> BGPActionsBulkData get_connection_routing_protocol_all_bgp_actions(routing_protocol_id, connection_id, offset=offset, limit=limit) + +Get BGP Actions + +This API provides capability to get all BGP actions status + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.bgp_actions_bulk_data import BGPActionsBulkData +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.RoutingProtocolsApi(api_client) + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + connection_id = 'connection_id_example' # str | Connection Id + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # Get BGP Actions + api_response = api_instance.get_connection_routing_protocol_all_bgp_actions(routing_protocol_id, connection_id, offset=offset, limit=limit) + print("The response of RoutingProtocolsApi->get_connection_routing_protocol_all_bgp_actions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->get_connection_routing_protocol_all_bgp_actions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **routing_protocol_id** | **str**| Routing Protocol Id | + **connection_id** | **str**| Connection Id | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**BGPActionsBulkData**](BGPActionsBulkData.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** | Fabric BGP Action object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_connection_routing_protocol_by_uuid** +> RoutingProtocolData get_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id) + +Get Protocol + +This API provides capability to accept/reject user's virtual connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +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.RoutingProtocolsApi(api_client) + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + connection_id = 'connection_id_example' # str | Connection Id + + try: + # Get Protocol + api_response = api_instance.get_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id) + print("The response of RoutingProtocolsApi->get_connection_routing_protocol_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->get_connection_routing_protocol_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **routing_protocol_id** | **str**| Routing Protocol Id | + **connection_id** | **str**| Connection Id | + +### Return type + +[**RoutingProtocolData**](RoutingProtocolData.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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_connection_routing_protocols** +> GetResponse get_connection_routing_protocols(connection_id, offset=offset, limit=limit) + +GetRoutingProtocols + +This API provides capability to get Routing Protocols for connections + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_response import GetResponse +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.RoutingProtocolsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # GetRoutingProtocols + api_response = api_instance.get_connection_routing_protocols(connection_id, offset=offset, limit=limit) + print("The response of RoutingProtocolsApi->get_connection_routing_protocols:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->get_connection_routing_protocols: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**GetResponse**](GetResponse.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 | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID 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_connection_routing_protocols_bgp_action_by_uuid** +> BGPActionData get_connection_routing_protocols_bgp_action_by_uuid(connection_id, routing_protocol_id, action_id) + +Get BGP Action + +This API provides capability to retrieve specific BGP action + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.bgp_action_data import BGPActionData +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.RoutingProtocolsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + action_id = 'action_id_example' # str | BGP Action UUID + + try: + # Get BGP Action + api_response = api_instance.get_connection_routing_protocols_bgp_action_by_uuid(connection_id, routing_protocol_id, action_id) + print("The response of RoutingProtocolsApi->get_connection_routing_protocols_bgp_action_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->get_connection_routing_protocols_bgp_action_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **routing_protocol_id** | **str**| Routing Protocol Id | + **action_id** | **str**| BGP Action UUID | + +### Return type + +[**BGPActionData**](BGPActionData.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** | Fabric BGP Action object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID 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_connection_routing_protocols_change_by_uuid** +> RoutingProtocolChangeData get_connection_routing_protocols_change_by_uuid(connection_id, routing_protocol_id, change_id) + +Get Change By ID + +This API provides capability to retrieve specific Routing Protocol Change + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData +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.RoutingProtocolsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + change_id = 'change_id_example' # str | Routing Protocol Change UUID + + try: + # Get Change By ID + api_response = api_instance.get_connection_routing_protocols_change_by_uuid(connection_id, routing_protocol_id, change_id) + print("The response of RoutingProtocolsApi->get_connection_routing_protocols_change_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->get_connection_routing_protocols_change_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **routing_protocol_id** | **str**| Routing Protocol Id | + **change_id** | **str**| Routing Protocol Change UUID | + +### Return type + +[**RoutingProtocolChangeData**](RoutingProtocolChangeData.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** | Fabric Routing Protocol Change object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID 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_connection_routing_protocols_changes** +> RoutingProtocolChangeDataResponse get_connection_routing_protocols_changes(connection_id, routing_protocol_id, offset=offset, limit=limit) + +Get Changes + +This API provides capability to retrieve user's Routing Protocol Changes + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.routing_protocol_change_data_response import RoutingProtocolChangeDataResponse +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.RoutingProtocolsApi(api_client) + connection_id = 'connection_id_example' # str | Connection Id + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # Get Changes + api_response = api_instance.get_connection_routing_protocols_changes(connection_id, routing_protocol_id, offset=offset, limit=limit) + print("The response of RoutingProtocolsApi->get_connection_routing_protocols_changes:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->get_connection_routing_protocols_changes: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection Id | + **routing_protocol_id** | **str**| Routing Protocol Id | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**RoutingProtocolChangeDataResponse**](RoutingProtocolChangeDataResponse.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** | Fabric Routing Protocol Change object | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID 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) + +# **patch_connection_routing_protocol_by_uuid** +> RoutingProtocolData patch_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id, connection_change_operation) + +Patch Protocol + +This API provides capability to partially update Routing Protocols on a virtual connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +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.RoutingProtocolsApi(api_client) + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + connection_id = 'connection_id_example' # str | Connection Id + connection_change_operation = [equinix.services.fabricv4.ConnectionChangeOperation()] # List[ConnectionChangeOperation] | + + try: + # Patch Protocol + api_response = api_instance.patch_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id, connection_change_operation) + print("The response of RoutingProtocolsApi->patch_connection_routing_protocol_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->patch_connection_routing_protocol_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **routing_protocol_id** | **str**| Routing Protocol Id | + **connection_id** | **str**| Connection Id | + **connection_change_operation** | [**List[ConnectionChangeOperation]**](ConnectionChangeOperation.md)| | + +### Return type + +[**RoutingProtocolData**](RoutingProtocolData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **post_connection_routing_protocol_bgp_action_by_uuid** +> BGPActionData post_connection_routing_protocol_bgp_action_by_uuid(routing_protocol_id, connection_id, bgp_action_request) + +Clear/Reset BGP + +This API provides capability to clear/reset Routing Protocols BGP session + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.bgp_action_data import BGPActionData +from equinix.services.fabricv4.models.bgp_action_request import BGPActionRequest +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.RoutingProtocolsApi(api_client) + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + connection_id = 'connection_id_example' # str | Connection Id + bgp_action_request = equinix.services.fabricv4.BGPActionRequest() # BGPActionRequest | + + try: + # Clear/Reset BGP + api_response = api_instance.post_connection_routing_protocol_bgp_action_by_uuid(routing_protocol_id, connection_id, bgp_action_request) + print("The response of RoutingProtocolsApi->post_connection_routing_protocol_bgp_action_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->post_connection_routing_protocol_bgp_action_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **routing_protocol_id** | **str**| Routing Protocol Id | + **connection_id** | **str**| Connection Id | + **bgp_action_request** | [**BGPActionRequest**](BGPActionRequest.md)| | + +### Return type + +[**BGPActionData**](BGPActionData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **replace_connection_routing_protocol_by_uuid** +> RoutingProtocolData replace_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id, routing_protocol_base) + +Replace Protocol + +This API provides capability to replace complete Routing Protocols on a virtual connection + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +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.RoutingProtocolsApi(api_client) + routing_protocol_id = 'routing_protocol_id_example' # str | Routing Protocol Id + connection_id = 'connection_id_example' # str | Connection Id + routing_protocol_base = equinix.services.fabricv4.RoutingProtocolBase() # RoutingProtocolBase | + + try: + # Replace Protocol + api_response = api_instance.replace_connection_routing_protocol_by_uuid(routing_protocol_id, connection_id, routing_protocol_base) + print("The response of RoutingProtocolsApi->replace_connection_routing_protocol_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->replace_connection_routing_protocol_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **routing_protocol_id** | **str**| Routing Protocol Id | + **connection_id** | **str**| Connection Id | + **routing_protocol_base** | [**RoutingProtocolBase**](RoutingProtocolBase.md)| | + +### Return type + +[**RoutingProtocolData**](RoutingProtocolData.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Connection ID Not Found | - | +**415** | Unsupported Media Type | - | +**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) + +# **validate_routing_protocol** +> ValidateSubnetResponse validate_routing_protocol(router_id, validate_request) + +Validate Subnet + +This API provides capability to validate all subnets associated with any connection in the given FCR + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.validate_request import ValidateRequest +from equinix.services.fabricv4.models.validate_subnet_response import ValidateSubnetResponse +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.RoutingProtocolsApi(api_client) + router_id = 'router_id_example' # str | Cloud Router UUID + validate_request = equinix.services.fabricv4.ValidateRequest() # ValidateRequest | + + try: + # Validate Subnet + api_response = api_instance.validate_routing_protocol(router_id, validate_request) + print("The response of RoutingProtocolsApi->validate_routing_protocol:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling RoutingProtocolsApi->validate_routing_protocol: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **router_id** | **str**| Cloud Router UUID | + **validate_request** | [**ValidateRequest**](ValidateRequest.md)| | + +### Return type + +[**ValidateSubnetResponse**](ValidateSubnetResponse.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 | - | + +[[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/SearchExpression.md b/equinix/services/fabricv4/docs/SearchExpression.md new file mode 100644 index 00000000..d0da4e96 --- /dev/null +++ b/equinix/services/fabricv4/docs/SearchExpression.md @@ -0,0 +1,33 @@ +# SearchExpression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[SearchExpression]**](SearchExpression.md) | | [optional] +**var_or** | [**List[SearchExpression]**](SearchExpression.md) | | [optional] +**var_property** | **str** | | [optional] +**operator** | [**ExpressionOperator**](ExpressionOperator.md) | | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.search_expression import SearchExpression + +# TODO update the JSON string below +json = "{}" +# create an instance of SearchExpression from a JSON string +search_expression_instance = SearchExpression.from_json(json) +# print the JSON string representation of the object +print(SearchExpression.to_json()) + +# convert the object into a dict +search_expression_dict = search_expression_instance.to_dict() +# create an instance of SearchExpression from a dict +search_expression_form_dict = search_expression.from_dict(search_expression_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/SearchFieldName.md b/equinix/services/fabricv4/docs/SearchFieldName.md new file mode 100644 index 00000000..643220f8 --- /dev/null +++ b/equinix/services/fabricv4/docs/SearchFieldName.md @@ -0,0 +1,12 @@ +# SearchFieldName + +Possible field names to use on filters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SearchRequest.md b/equinix/services/fabricv4/docs/SearchRequest.md new file mode 100644 index 00000000..c347a91f --- /dev/null +++ b/equinix/services/fabricv4/docs/SearchRequest.md @@ -0,0 +1,32 @@ +# SearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**Expression**](Expression.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] +**sort** | [**List[SortCriteria]**](SortCriteria.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.search_request import SearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of SearchRequest from a JSON string +search_request_instance = SearchRequest.from_json(json) +# print the JSON string representation of the object +print(SearchRequest.to_json()) + +# convert the object into a dict +search_request_dict = search_request_instance.to_dict() +# create an instance of SearchRequest from a dict +search_request_form_dict = search_request.from_dict(search_request_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/SearchResponse.md b/equinix/services/fabricv4/docs/SearchResponse.md new file mode 100644 index 00000000..3dce7b00 --- /dev/null +++ b/equinix/services/fabricv4/docs/SearchResponse.md @@ -0,0 +1,30 @@ +# SearchResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[CloudRouter]**](CloudRouter.md) | Data returned from the API call. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.search_response import SearchResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of SearchResponse from a JSON string +search_response_instance = SearchResponse.from_json(json) +# print the JSON string representation of the object +print(SearchResponse.to_json()) + +# convert the object into a dict +search_response_dict = search_response_instance.to_dict() +# create an instance of SearchResponse from a dict +search_response_form_dict = search_response.from_dict(search_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/ServiceMetro.md b/equinix/services/fabricv4/docs/ServiceMetro.md new file mode 100644 index 00000000..4c2203da --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceMetro.md @@ -0,0 +1,35 @@ +# ServiceMetro + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | **str** | metro code | [optional] +**name** | **str** | metro name | [optional] +**vc_bandwidth_max** | **int** | max VC speed supported in Mbps | [optional] +**ibxs** | **List[str]** | | [optional] +**in_trail** | **bool** | | [optional] +**display_name** | **str** | service metro display name | [optional] +**seller_regions** | **Dict[str, str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_metro import ServiceMetro + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceMetro from a JSON string +service_metro_instance = ServiceMetro.from_json(json) +# print the JSON string representation of the object +print(ServiceMetro.to_json()) + +# convert the object into a dict +service_metro_dict = service_metro_instance.to_dict() +# create an instance of ServiceMetro from a dict +service_metro_form_dict = service_metro.from_dict(service_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/ServiceMetros.md b/equinix/services/fabricv4/docs/ServiceMetros.md new file mode 100644 index 00000000..b6f3388d --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceMetros.md @@ -0,0 +1,31 @@ +# ServiceMetros + +Service Profile Metros + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ServiceMetro]**](ServiceMetro.md) | | [optional] +**pagination** | [**Pagination**](Pagination.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_metros import ServiceMetros + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceMetros from a JSON string +service_metros_instance = ServiceMetros.from_json(json) +# print the JSON string representation of the object +print(ServiceMetros.to_json()) + +# convert the object into a dict +service_metros_dict = service_metros_instance.to_dict() +# create an instance of ServiceMetros from a dict +service_metros_form_dict = service_metros.from_dict(service_metros_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/ServiceProfile.md b/equinix/services/fabricv4/docs/ServiceProfile.md new file mode 100644 index 00000000..1e20b1b2 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfile.md @@ -0,0 +1,50 @@ +# ServiceProfile + +Service Profile is a software definition for a named provider service and it's network connectivity requirements. This includes the basic marketing information and one or more sets of access points (a set per each access point type) fulfilling the provider service. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**state** | [**ServiceProfileStateEnum**](ServiceProfileStateEnum.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | Seller Account for Service Profile. | [optional] +**project** | [**Project**](Project.md) | | [optional] +**change_log** | [**Changelog**](Changelog.md) | Seller Account for Service Profile. | [optional] +**href** | **str** | Service Profile URI response attribute | [optional] [readonly] +**type** | [**ServiceProfileTypeEnum**](ServiceProfileTypeEnum.md) | | [optional] +**name** | **str** | Customer-assigned service profile name | [optional] +**uuid** | **str** | Equinix-assigned service profile identifier | [optional] +**description** | **str** | User-provided service description should be of maximum length 375 | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Recipients of notifications on service profile change | [optional] +**tags** | **List[str]** | | [optional] +**visibility** | [**ServiceProfileVisibilityEnum**](ServiceProfileVisibilityEnum.md) | | [optional] +**allowed_emails** | **List[str]** | | [optional] +**access_point_type_configs** | [**List[ServiceProfileAccessPointType]**](ServiceProfileAccessPointType.md) | | [optional] +**custom_fields** | [**List[CustomField]**](CustomField.md) | | [optional] +**marketing_info** | [**MarketingInfo**](MarketingInfo.md) | | [optional] +**ports** | [**List[ServiceProfileAccessPointCOLO]**](ServiceProfileAccessPointCOLO.md) | | [optional] +**virtual_devices** | [**List[ServiceProfileAccessPointVD]**](ServiceProfileAccessPointVD.md) | | [optional] +**metros** | [**List[ServiceMetro]**](ServiceMetro.md) | Derived response attribute. | [optional] +**self_profile** | **bool** | response attribute indicates whether the profile belongs to the same organization as the api-invoker. | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile import ServiceProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfile from a JSON string +service_profile_instance = ServiceProfile.from_json(json) +# print the JSON string representation of the object +print(ServiceProfile.to_json()) + +# convert the object into a dict +service_profile_dict = service_profile_instance.to_dict() +# create an instance of ServiceProfile from a dict +service_profile_form_dict = service_profile.from_dict(service_profile_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/ServiceProfileAccessPointCOLO.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointCOLO.md new file mode 100644 index 00000000..c1a7aa0b --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointCOLO.md @@ -0,0 +1,35 @@ +# ServiceProfileAccessPointCOLO + +Colo Access Point + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ServiceProfileAccessPointCOLOType**](ServiceProfileAccessPointCOLOType.md) | | +**uuid** | **str** | | +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**seller_region** | **str** | | [optional] +**seller_region_description** | **str** | | [optional] +**cross_connect_id** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileAccessPointCOLO from a JSON string +service_profile_access_point_colo_instance = ServiceProfileAccessPointCOLO.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileAccessPointCOLO.to_json()) + +# convert the object into a dict +service_profile_access_point_colo_dict = service_profile_access_point_colo_instance.to_dict() +# create an instance of ServiceProfileAccessPointCOLO from a dict +service_profile_access_point_colo_form_dict = service_profile_access_point_colo.from_dict(service_profile_access_point_colo_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/ServiceProfileAccessPointCOLOType.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointCOLOType.md new file mode 100644 index 00000000..7c7e93d5 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointCOLOType.md @@ -0,0 +1,11 @@ +# ServiceProfileAccessPointCOLOType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileAccessPointType.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointType.md new file mode 100644 index 00000000..0fa43fb8 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointType.md @@ -0,0 +1,44 @@ +# ServiceProfileAccessPointType + +Access Point Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] +**type** | [**ServiceProfileAccessPointTypeEnum**](ServiceProfileAccessPointTypeEnum.md) | | +**supported_bandwidths** | **List[int]** | | [optional] +**allow_remote_connections** | **bool** | Allow remote connections to Service Profile | [optional] +**allow_custom_bandwidth** | **bool** | | [optional] +**bandwidth_alert_threshold** | **float** | percentage of port bandwidth at which an allocation alert is generated - missing on wiki. | [optional] +**allow_bandwidth_auto_approval** | **bool** | Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller. | [optional] [default to False] +**allow_bandwidth_upgrade** | **bool** | Availability of a bandwidth upgrade. The default is false. | [optional] +**link_protocol_config** | [**ServiceProfileLinkProtocolConfig**](ServiceProfileLinkProtocolConfig.md) | | [optional] +**enable_auto_generate_service_key** | **bool** | for verizon only. | [optional] +**connection_redundancy_required** | **bool** | Mandate redundant connections | [optional] [default to False] +**api_config** | [**ApiConfig**](ApiConfig.md) | | [optional] +**connection_label** | **str** | custom name for \"Connection\" | [optional] +**authentication_key** | [**AuthenticationKey**](AuthenticationKey.md) | | [optional] +**metadata** | [**ServiceProfileMetadata**](ServiceProfileMetadata.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileAccessPointType from a JSON string +service_profile_access_point_type_instance = ServiceProfileAccessPointType.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileAccessPointType.to_json()) + +# convert the object into a dict +service_profile_access_point_type_dict = service_profile_access_point_type_instance.to_dict() +# create an instance of ServiceProfileAccessPointType from a dict +service_profile_access_point_type_form_dict = service_profile_access_point_type.from_dict(service_profile_access_point_type_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/ServiceProfileAccessPointTypeCOLO.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeCOLO.md new file mode 100644 index 00000000..7f339b3a --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeCOLO.md @@ -0,0 +1,44 @@ +# ServiceProfileAccessPointTypeCOLO + +Colo Access Point Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] +**type** | [**ServiceProfileAccessPointTypeEnum**](ServiceProfileAccessPointTypeEnum.md) | | +**supported_bandwidths** | **List[int]** | | [optional] +**allow_remote_connections** | **bool** | Setting to allow or prohibit remote connections to the service profile. | [optional] [default to False] +**allow_custom_bandwidth** | **bool** | Setting to enable or disable the ability of the buyer to customize the bandwidth. | [optional] [default to False] +**bandwidth_alert_threshold** | **float** | percentage of port bandwidth at which an allocation alert is generated - missing on wiki. | [optional] +**allow_bandwidth_auto_approval** | **bool** | Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller. | [optional] [default to False] +**allow_bandwidth_upgrade** | **bool** | Availability of a bandwidth upgrade. The default is false. | [optional] +**link_protocol_config** | [**ServiceProfileLinkProtocolConfig**](ServiceProfileLinkProtocolConfig.md) | | [optional] +**enable_auto_generate_service_key** | **bool** | for verizon only. | [optional] +**connection_redundancy_required** | **bool** | Mandate redundant connections | [optional] [default to False] +**api_config** | [**ApiConfig**](ApiConfig.md) | | [optional] +**connection_label** | **str** | custom name for \"Connection\" | [optional] +**authentication_key** | [**AuthenticationKey**](AuthenticationKey.md) | | [optional] +**metadata** | [**ServiceProfileMetadata**](ServiceProfileMetadata.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_access_point_type_colo import ServiceProfileAccessPointTypeCOLO + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileAccessPointTypeCOLO from a JSON string +service_profile_access_point_type_colo_instance = ServiceProfileAccessPointTypeCOLO.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileAccessPointTypeCOLO.to_json()) + +# convert the object into a dict +service_profile_access_point_type_colo_dict = service_profile_access_point_type_colo_instance.to_dict() +# create an instance of ServiceProfileAccessPointTypeCOLO from a dict +service_profile_access_point_type_colo_form_dict = service_profile_access_point_type_colo.from_dict(service_profile_access_point_type_colo_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/ServiceProfileAccessPointTypeEnum.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeEnum.md new file mode 100644 index 00000000..0ac54f58 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeEnum.md @@ -0,0 +1,12 @@ +# ServiceProfileAccessPointTypeEnum + +Access point type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileAccessPointTypeVD.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeVD.md new file mode 100644 index 00000000..ee3a494c --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeVD.md @@ -0,0 +1,34 @@ +# ServiceProfileAccessPointTypeVD + +VirtualDevice Access Point Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] +**type** | [**ServiceProfileAccessPointTypeEnum**](ServiceProfileAccessPointTypeEnum.md) | | +**supported_bandwidths** | **List[int]** | | [optional] +**allow_remote_connections** | **bool** | Allow remote connections to Service Profile | [optional] +**allow_custom_bandwidth** | **bool** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_access_point_type_vd import ServiceProfileAccessPointTypeVD + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileAccessPointTypeVD from a JSON string +service_profile_access_point_type_vd_instance = ServiceProfileAccessPointTypeVD.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileAccessPointTypeVD.to_json()) + +# convert the object into a dict +service_profile_access_point_type_vd_dict = service_profile_access_point_type_vd_instance.to_dict() +# create an instance of ServiceProfileAccessPointTypeVD from a dict +service_profile_access_point_type_vd_form_dict = service_profile_access_point_type_vd.from_dict(service_profile_access_point_type_vd_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/ServiceProfileAccessPointVD.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointVD.md new file mode 100644 index 00000000..2d81345c --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointVD.md @@ -0,0 +1,33 @@ +# ServiceProfileAccessPointVD + +Virtual Device Point + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ServiceProfileAccessPointVDType**](ServiceProfileAccessPointVDType.md) | | +**uuid** | **str** | | +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**interface_uuid** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileAccessPointVD from a JSON string +service_profile_access_point_vd_instance = ServiceProfileAccessPointVD.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileAccessPointVD.to_json()) + +# convert the object into a dict +service_profile_access_point_vd_dict = service_profile_access_point_vd_instance.to_dict() +# create an instance of ServiceProfileAccessPointVD from a dict +service_profile_access_point_vd_form_dict = service_profile_access_point_vd.from_dict(service_profile_access_point_vd_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/ServiceProfileAccessPointVDType.md b/equinix/services/fabricv4/docs/ServiceProfileAccessPointVDType.md new file mode 100644 index 00000000..88c42d1c --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAccessPointVDType.md @@ -0,0 +1,11 @@ +# ServiceProfileAccessPointVDType + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileAndFilter.md b/equinix/services/fabricv4/docs/ServiceProfileAndFilter.md new file mode 100644 index 00000000..2dc29d73 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileAndFilter.md @@ -0,0 +1,29 @@ +# ServiceProfileAndFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[ServiceProfileSimpleExpression]**](ServiceProfileSimpleExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_and_filter import ServiceProfileAndFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileAndFilter from a JSON string +service_profile_and_filter_instance = ServiceProfileAndFilter.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileAndFilter.to_json()) + +# convert the object into a dict +service_profile_and_filter_dict = service_profile_and_filter_instance.to_dict() +# create an instance of ServiceProfileAndFilter from a dict +service_profile_and_filter_form_dict = service_profile_and_filter.from_dict(service_profile_and_filter_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/ServiceProfileFilter.md b/equinix/services/fabricv4/docs/ServiceProfileFilter.md new file mode 100644 index 00000000..45424b1b --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileFilter.md @@ -0,0 +1,32 @@ +# ServiceProfileFilter + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Possible field names to use on filters: * `/name` - Service Profile name * `/uuid` - Service Profile uuid * `/state` - Service Profile status * `/metros/code` - Service Profile metro code * `/visibility` - Service Profile package * `/type` - Service Profile package * `/project/projectId` - Service Profile project id | [optional] +**operator** | **str** | Possible operators to use on filters: * `=` - equal | [optional] +**values** | **List[str]** | | [optional] +**var_and** | [**List[ServiceProfileSimpleExpression]**](ServiceProfileSimpleExpression.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_filter import ServiceProfileFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileFilter from a JSON string +service_profile_filter_instance = ServiceProfileFilter.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileFilter.to_json()) + +# convert the object into a dict +service_profile_filter_dict = service_profile_filter_instance.to_dict() +# create an instance of ServiceProfileFilter from a dict +service_profile_filter_form_dict = service_profile_filter.from_dict(service_profile_filter_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/ServiceProfileLinkProtocolConfig.md b/equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfig.md new file mode 100644 index 00000000..713aaa7a --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfig.md @@ -0,0 +1,34 @@ +# ServiceProfileLinkProtocolConfig + +Configuration for dot1q to qinq translation support + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**encapsulation_strategy** | [**ServiceProfileLinkProtocolConfigEncapsulationStrategy**](ServiceProfileLinkProtocolConfigEncapsulationStrategy.md) | | [optional] +**named_tags** | **List[str]** | | [optional] +**vlan_c_tag_label** | **str** | was ctagLabel | [optional] +**reuse_vlan_s_tag** | **bool** | | [optional] [default to False] +**encapsulation** | [**ServiceProfileLinkProtocolConfigEncapsulation**](ServiceProfileLinkProtocolConfigEncapsulation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_link_protocol_config import ServiceProfileLinkProtocolConfig + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileLinkProtocolConfig from a JSON string +service_profile_link_protocol_config_instance = ServiceProfileLinkProtocolConfig.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileLinkProtocolConfig.to_json()) + +# convert the object into a dict +service_profile_link_protocol_config_dict = service_profile_link_protocol_config_instance.to_dict() +# create an instance of ServiceProfileLinkProtocolConfig from a dict +service_profile_link_protocol_config_form_dict = service_profile_link_protocol_config.from_dict(service_profile_link_protocol_config_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/ServiceProfileLinkProtocolConfigEncapsulation.md b/equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfigEncapsulation.md new file mode 100644 index 00000000..11b44482 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfigEncapsulation.md @@ -0,0 +1,12 @@ +# ServiceProfileLinkProtocolConfigEncapsulation + +Port encapsulation - Derived response attribute. Ignored on request payloads. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileLinkProtocolConfigEncapsulationStrategy.md b/equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfigEncapsulationStrategy.md new file mode 100644 index 00000000..086e44b7 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfigEncapsulationStrategy.md @@ -0,0 +1,12 @@ +# ServiceProfileLinkProtocolConfigEncapsulationStrategy + +was tagType - missing on wiki + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileMetadata.md b/equinix/services/fabricv4/docs/ServiceProfileMetadata.md new file mode 100644 index 00000000..1561db73 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileMetadata.md @@ -0,0 +1,48 @@ +# ServiceProfileMetadata + +Metadata. Response attribute. Ignored on request payload. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**props** | **str** | | [optional] +**reg_ex** | **str** | | [optional] +**reg_ex_msg** | **str** | | [optional] +**vlan_range_max_value** | **int** | | [optional] +**vlan_range_min_value** | **int** | | [optional] +**max_qinq** | **str** | | [optional] +**max_dot1q** | **int** | | [optional] +**variable_billing** | **bool** | | [optional] +**global_organization** | **str** | | [optional] +**limit_auth_key_conn** | **bool** | | [optional] +**allow_secondary_location** | **bool** | | [optional] +**redundant_profile_id** | **str** | | [optional] +**allow_vc_migration** | **bool** | | [optional] +**connection_editable** | **bool** | | [optional] +**release_vlan** | **bool** | | [optional] +**max_connections_on_port** | **int** | | [optional] +**port_assignment_strategy** | **str** | | [optional] +**eqx_managed_port** | **bool** | | [optional] +**connection_name_editable** | **bool** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_metadata import ServiceProfileMetadata + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileMetadata from a JSON string +service_profile_metadata_instance = ServiceProfileMetadata.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileMetadata.to_json()) + +# convert the object into a dict +service_profile_metadata_dict = service_profile_metadata_instance.to_dict() +# create an instance of ServiceProfileMetadata from a dict +service_profile_metadata_form_dict = service_profile_metadata.from_dict(service_profile_metadata_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/ServiceProfileRequest.md b/equinix/services/fabricv4/docs/ServiceProfileRequest.md new file mode 100644 index 00000000..28f5e138 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileRequest.md @@ -0,0 +1,47 @@ +# ServiceProfileRequest + +Service Profile is a software definition for a named provider service and it's network connectivity requirements. This includes the basic marketing information and one or more sets of access points (a set per each access point type) fulfilling the provider service. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**project** | [**Project**](Project.md) | | [optional] +**href** | **str** | Service Profile URI response attribute | [optional] [readonly] +**type** | [**ServiceProfileTypeEnum**](ServiceProfileTypeEnum.md) | | +**name** | **str** | Customer-assigned service profile name | +**uuid** | **str** | Equinix-assigned service profile identifier | [optional] +**description** | **str** | User-provided service description should be of maximum length 375 | +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Recipients of notifications on service profile change | [optional] +**tags** | **List[str]** | | [optional] +**visibility** | [**ServiceProfileVisibilityEnum**](ServiceProfileVisibilityEnum.md) | | [optional] +**allowed_emails** | **List[str]** | | [optional] +**access_point_type_configs** | [**List[ServiceProfileAccessPointType]**](ServiceProfileAccessPointType.md) | | [optional] +**custom_fields** | [**List[CustomField]**](CustomField.md) | | [optional] +**marketing_info** | [**MarketingInfo**](MarketingInfo.md) | | [optional] +**ports** | [**List[ServiceProfileAccessPointCOLO]**](ServiceProfileAccessPointCOLO.md) | | [optional] +**virtual_devices** | [**List[ServiceProfileAccessPointVD]**](ServiceProfileAccessPointVD.md) | | [optional] +**metros** | [**List[ServiceMetro]**](ServiceMetro.md) | Derived response attribute. | [optional] +**self_profile** | **bool** | response attribute indicates whether the profile belongs to the same organization as the api-invoker. | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileRequest from a JSON string +service_profile_request_instance = ServiceProfileRequest.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileRequest.to_json()) + +# convert the object into a dict +service_profile_request_dict = service_profile_request_instance.to_dict() +# create an instance of ServiceProfileRequest from a dict +service_profile_request_form_dict = service_profile_request.from_dict(service_profile_request_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/ServiceProfileSearchRequest.md b/equinix/services/fabricv4/docs/ServiceProfileSearchRequest.md new file mode 100644 index 00000000..c4261a8f --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileSearchRequest.md @@ -0,0 +1,32 @@ +# ServiceProfileSearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**ServiceProfileFilter**](ServiceProfileFilter.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] +**sort** | [**List[ServiceProfileSortCriteria]**](ServiceProfileSortCriteria.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_search_request import ServiceProfileSearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileSearchRequest from a JSON string +service_profile_search_request_instance = ServiceProfileSearchRequest.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileSearchRequest.to_json()) + +# convert the object into a dict +service_profile_search_request_dict = service_profile_search_request_instance.to_dict() +# create an instance of ServiceProfileSearchRequest from a dict +service_profile_search_request_form_dict = service_profile_search_request.from_dict(service_profile_search_request_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/ServiceProfileSimpleExpression.md b/equinix/services/fabricv4/docs/ServiceProfileSimpleExpression.md new file mode 100644 index 00000000..34676613 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileSimpleExpression.md @@ -0,0 +1,31 @@ +# ServiceProfileSimpleExpression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Possible field names to use on filters: * `/name` - Service Profile name * `/uuid` - Service Profile uuid * `/state` - Service Profile status * `/metros/code` - Service Profile metro code * `/visibility` - Service Profile package * `/type` - Service Profile package * `/project/projectId` - Service Profile project id | [optional] +**operator** | **str** | Possible operators to use on filters: * `=` - equal | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_simple_expression import ServiceProfileSimpleExpression + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileSimpleExpression from a JSON string +service_profile_simple_expression_instance = ServiceProfileSimpleExpression.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileSimpleExpression.to_json()) + +# convert the object into a dict +service_profile_simple_expression_dict = service_profile_simple_expression_instance.to_dict() +# create an instance of ServiceProfileSimpleExpression from a dict +service_profile_simple_expression_form_dict = service_profile_simple_expression.from_dict(service_profile_simple_expression_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/ServiceProfileSortBy.md b/equinix/services/fabricv4/docs/ServiceProfileSortBy.md new file mode 100644 index 00000000..8201c8a8 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileSortBy.md @@ -0,0 +1,12 @@ +# ServiceProfileSortBy + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileSortCriteria.md b/equinix/services/fabricv4/docs/ServiceProfileSortCriteria.md new file mode 100644 index 00000000..c1bb2dd5 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileSortCriteria.md @@ -0,0 +1,30 @@ +# ServiceProfileSortCriteria + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**ServiceProfileSortDirection**](ServiceProfileSortDirection.md) | | [optional] +**var_property** | [**ServiceProfileSortBy**](ServiceProfileSortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profile_sort_criteria import ServiceProfileSortCriteria + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfileSortCriteria from a JSON string +service_profile_sort_criteria_instance = ServiceProfileSortCriteria.from_json(json) +# print the JSON string representation of the object +print(ServiceProfileSortCriteria.to_json()) + +# convert the object into a dict +service_profile_sort_criteria_dict = service_profile_sort_criteria_instance.to_dict() +# create an instance of ServiceProfileSortCriteria from a dict +service_profile_sort_criteria_form_dict = service_profile_sort_criteria.from_dict(service_profile_sort_criteria_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/ServiceProfileSortDirection.md b/equinix/services/fabricv4/docs/ServiceProfileSortDirection.md new file mode 100644 index 00000000..bfc0fecf --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileSortDirection.md @@ -0,0 +1,12 @@ +# ServiceProfileSortDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileStateEnum.md b/equinix/services/fabricv4/docs/ServiceProfileStateEnum.md new file mode 100644 index 00000000..7119ef57 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileStateEnum.md @@ -0,0 +1,12 @@ +# ServiceProfileStateEnum + +Equinix assigned state. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileTypeEnum.md b/equinix/services/fabricv4/docs/ServiceProfileTypeEnum.md new file mode 100644 index 00000000..38b938ab --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileTypeEnum.md @@ -0,0 +1,12 @@ +# ServiceProfileTypeEnum + +Service profile type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfileVisibilityEnum.md b/equinix/services/fabricv4/docs/ServiceProfileVisibilityEnum.md new file mode 100644 index 00000000..52d2237a --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfileVisibilityEnum.md @@ -0,0 +1,11 @@ +# ServiceProfileVisibilityEnum + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceProfiles.md b/equinix/services/fabricv4/docs/ServiceProfiles.md new file mode 100644 index 00000000..9632076d --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfiles.md @@ -0,0 +1,31 @@ +# ServiceProfiles + +Service Profiles + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ServiceProfile]**](ServiceProfile.md) | | [optional] +**pagination** | [**Pagination**](Pagination.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceProfiles from a JSON string +service_profiles_instance = ServiceProfiles.from_json(json) +# print the JSON string representation of the object +print(ServiceProfiles.to_json()) + +# convert the object into a dict +service_profiles_dict = service_profiles_instance.to_dict() +# create an instance of ServiceProfiles from a dict +service_profiles_form_dict = service_profiles.from_dict(service_profiles_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 new file mode 100644 index 00000000..628f8f46 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceProfilesApi.md @@ -0,0 +1,702 @@ +# equinix.services.fabricv4.ServiceProfilesApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_service_profile**](ServiceProfilesApi.md#create_service_profile) | **POST** /fabric/v4/serviceProfiles | Create Profile +[**delete_service_profile_by_uuid**](ServiceProfilesApi.md#delete_service_profile_by_uuid) | **DELETE** /fabric/v4/serviceProfiles/{serviceProfileId} | Delete Profile +[**get_service_profile_by_uuid**](ServiceProfilesApi.md#get_service_profile_by_uuid) | **GET** /fabric/v4/serviceProfiles/{serviceProfileId} | Get Profile +[**get_service_profile_metros_by_uuid**](ServiceProfilesApi.md#get_service_profile_metros_by_uuid) | **GET** /fabric/v4/serviceProfiles/{serviceProfileId}/metros | Get Profile Metros +[**get_service_profiles**](ServiceProfilesApi.md#get_service_profiles) | **GET** /fabric/v4/serviceProfiles | Get all Profiles +[**put_service_profile_by_uuid**](ServiceProfilesApi.md#put_service_profile_by_uuid) | **PUT** /fabric/v4/serviceProfiles/{serviceProfileId} | Replace Profile +[**search_service_profiles**](ServiceProfilesApi.md#search_service_profiles) | **POST** /fabric/v4/serviceProfiles/search | Profile Search +[**update_service_profile_by_uuid**](ServiceProfilesApi.md#update_service_profile_by_uuid) | **PATCH** /fabric/v4/serviceProfiles/{serviceProfileId} | Update Profile + + +# **create_service_profile** +> ServiceProfile create_service_profile(service_profile_request) + +Create Profile + +Create Service Profile creates Equinix Fabric? Service Profile. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_profile import ServiceProfile +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest +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.ServiceProfilesApi(api_client) + service_profile_request = equinix.services.fabricv4.ServiceProfileRequest() # ServiceProfileRequest | + + try: + # Create Profile + api_response = api_instance.create_service_profile(service_profile_request) + print("The response of ServiceProfilesApi->create_service_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->create_service_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_request** | [**ServiceProfileRequest**](ServiceProfileRequest.md)| | + +### Return type + +[**ServiceProfile**](ServiceProfile.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json; charset=UTF-8, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Successful Create operation | * ETag -
| +**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) + +# **delete_service_profile_by_uuid** +> ServiceProfile delete_service_profile_by_uuid(service_profile_id) + +Delete Profile + +delete Service Profile by UUID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_profile import ServiceProfile +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.ServiceProfilesApi(api_client) + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + + try: + # Delete Profile + api_response = api_instance.delete_service_profile_by_uuid(service_profile_id) + print("The response of ServiceProfilesApi->delete_service_profile_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->delete_service_profile_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_id** | **str**| Service Profile UUID | + +### Return type + +[**ServiceProfile**](ServiceProfile.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 | +|-------------|-------------|------------------| +**200** | Successful Delete operation | * ETag -
| +**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) + +# **get_service_profile_by_uuid** +> ServiceProfile get_service_profile_by_uuid(service_profile_id, view_point=view_point) + +Get Profile + +Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter +from equinix.services.fabricv4.models.service_profile import ServiceProfile +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.ServiceProfilesApi(api_client) + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + view_point = equinix.services.fabricv4.GetServiceProfilesViewPointParameter() # GetServiceProfilesViewPointParameter | flips view between buyer and seller representation (optional) + + try: + # Get Profile + api_response = api_instance.get_service_profile_by_uuid(service_profile_id, view_point=view_point) + print("The response of ServiceProfilesApi->get_service_profile_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->get_service_profile_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_id** | **str**| Service Profile UUID | + **view_point** | [**GetServiceProfilesViewPointParameter**](.md)| flips view between buyer and seller representation | [optional] + +### Return type + +[**ServiceProfile**](ServiceProfile.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 | +|-------------|-------------|------------------| +**200** | Successful operation | * ETag -
| +**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) + +# **get_service_profile_metros_by_uuid** +> ServiceMetros get_service_profile_metros_by_uuid(service_profile_id, offset=offset, limit=limit) + +Get Profile Metros + +Get service profile metros by UUID. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_metros import ServiceMetros +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.ServiceProfilesApi(api_client) + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + + try: + # Get Profile Metros + api_response = api_instance.get_service_profile_metros_by_uuid(service_profile_id, offset=offset, limit=limit) + print("The response of ServiceProfilesApi->get_service_profile_metros_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->get_service_profile_metros_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_id** | **str**| Service Profile UUID | + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + +### Return type + +[**ServiceMetros**](ServiceMetros.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 | +|-------------|-------------|------------------| +**200** | Successful 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) + +# **get_service_profiles** +> ServiceProfiles get_service_profiles(offset=offset, limit=limit, view_point=view_point) + +Get all Profiles + +The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles +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.ServiceProfilesApi(api_client) + offset = 1 # int | offset (optional) + limit = 10 # int | number of records to fetch (optional) + view_point = equinix.services.fabricv4.GetServiceProfilesViewPointParameter() # GetServiceProfilesViewPointParameter | flips view between buyer and seller representation (optional) + + try: + # Get all Profiles + api_response = api_instance.get_service_profiles(offset=offset, limit=limit, view_point=view_point) + print("The response of ServiceProfilesApi->get_service_profiles:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->get_service_profiles: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **offset** | **int**| offset | [optional] + **limit** | **int**| number of records to fetch | [optional] + **view_point** | [**GetServiceProfilesViewPointParameter**](.md)| flips view between buyer and seller representation | [optional] + +### Return type + +[**ServiceProfiles**](ServiceProfiles.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 | +|-------------|-------------|------------------| +**200** | Successful 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) + +# **put_service_profile_by_uuid** +> ServiceProfile put_service_profile_by_uuid(service_profile_id, if_match, service_profile_request) + +Replace Profile + +This API request replaces a service profile definition + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_profile import ServiceProfile +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest +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.ServiceProfilesApi(api_client) + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + if_match = 'if_match_example' # str | conditional request + service_profile_request = equinix.services.fabricv4.ServiceProfileRequest() # ServiceProfileRequest | + + try: + # Replace Profile + api_response = api_instance.put_service_profile_by_uuid(service_profile_id, if_match, service_profile_request) + print("The response of ServiceProfilesApi->put_service_profile_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->put_service_profile_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_id** | **str**| Service Profile UUID | + **if_match** | **str**| conditional request | + **service_profile_request** | [**ServiceProfileRequest**](ServiceProfileRequest.md)| | + +### Return type + +[**ServiceProfile**](ServiceProfile.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json; charset=UTF-8, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful Put operation | * ETag -
| +**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) + +# **search_service_profiles** +> ServiceProfiles search_service_profiles(service_profile_search_request, view_point=view_point) + +Profile Search + +Search service profiles by search criteria + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter +from equinix.services.fabricv4.models.service_profile_search_request import ServiceProfileSearchRequest +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles +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.ServiceProfilesApi(api_client) + service_profile_search_request = equinix.services.fabricv4.ServiceProfileSearchRequest() # ServiceProfileSearchRequest | + view_point = equinix.services.fabricv4.GetServiceProfilesViewPointParameter() # GetServiceProfilesViewPointParameter | flips view between buyer and seller representation (optional) + + try: + # Profile Search + api_response = api_instance.search_service_profiles(service_profile_search_request, view_point=view_point) + print("The response of ServiceProfilesApi->search_service_profiles:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->search_service_profiles: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_search_request** | [**ServiceProfileSearchRequest**](ServiceProfileSearchRequest.md)| | + **view_point** | [**GetServiceProfilesViewPointParameter**](.md)| flips view between buyer and seller representation | [optional] + +### Return type + +[**ServiceProfiles**](ServiceProfiles.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json; charset=UTF-8, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**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) + +# **update_service_profile_by_uuid** +> ServiceProfile update_service_profile_by_uuid(service_profile_id, if_match, json_patch_operation) + +Update Profile + +Update Service Profile by UUID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.json_patch_operation import JsonPatchOperation +from equinix.services.fabricv4.models.service_profile import ServiceProfile +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.ServiceProfilesApi(api_client) + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + if_match = 'if_match_example' # str | conditional request + json_patch_operation = [equinix.services.fabricv4.JsonPatchOperation()] # List[JsonPatchOperation] | + + try: + # Update Profile + api_response = api_instance.update_service_profile_by_uuid(service_profile_id, if_match, json_patch_operation) + print("The response of ServiceProfilesApi->update_service_profile_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceProfilesApi->update_service_profile_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_profile_id** | **str**| Service Profile UUID | + **if_match** | **str**| conditional request | + **json_patch_operation** | [**List[JsonPatchOperation]**](JsonPatchOperation.md)| | + +### Return type + +[**ServiceProfile**](ServiceProfile.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json-patch+json + - **Accept**: application/json; charset=UTF-8, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful Patch operation | * ETag -
| +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**412** | Precondition Failed | - | +**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/ServiceToken.md b/equinix/services/fabricv4/docs/ServiceToken.md new file mode 100644 index 00000000..e68b2789 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceToken.md @@ -0,0 +1,41 @@ +# ServiceToken + +Create Service Tokens (v4) generates Equinix Fabric service tokens. These tokens authorize users to access protected resources and services. The tokens remove sensitive content from the environment, rather than just masking it, making the protected data impossible to unencrypt or decrypt. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ServiceTokenType**](ServiceTokenType.md) | | [optional] +**href** | **str** | An absolute URL that is the subject of the link's context. | [optional] [readonly] +**uuid** | **str** | Equinix-assigned service token identifier | +**name** | **str** | Customer-provided service token name | [optional] +**description** | **str** | Customer-provided service token description | [optional] +**expiration_date_time** | **datetime** | Expiration date and time of the service token. | [optional] +**connection** | [**ServiceTokenConnection**](ServiceTokenConnection.md) | | [optional] +**state** | [**ServiceTokenState**](ServiceTokenState.md) | | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Service token related notifications | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**changelog** | [**Changelog**](Changelog.md) | | [optional] +**project** | [**Project**](Project.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_token import ServiceToken + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceToken from a JSON string +service_token_instance = ServiceToken.from_json(json) +# print the JSON string representation of the object +print(ServiceToken.to_json()) + +# convert the object into a dict +service_token_dict = service_token_instance.to_dict() +# create an instance of ServiceToken from a dict +service_token_form_dict = service_token.from_dict(service_token_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/ServiceTokenActionRequest.md b/equinix/services/fabricv4/docs/ServiceTokenActionRequest.md new file mode 100644 index 00000000..83317007 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenActionRequest.md @@ -0,0 +1,30 @@ +# ServiceTokenActionRequest + +Service Token action request + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ServiceTokenActions**](ServiceTokenActions.md) | | + +## Example + +```python +from equinix.services.fabricv4.models.service_token_action_request import ServiceTokenActionRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokenActionRequest from a JSON string +service_token_action_request_instance = ServiceTokenActionRequest.from_json(json) +# print the JSON string representation of the object +print(ServiceTokenActionRequest.to_json()) + +# convert the object into a dict +service_token_action_request_dict = service_token_action_request_instance.to_dict() +# create an instance of ServiceTokenActionRequest from a dict +service_token_action_request_form_dict = service_token_action_request.from_dict(service_token_action_request_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/ServiceTokenActions.md b/equinix/services/fabricv4/docs/ServiceTokenActions.md new file mode 100644 index 00000000..32dbc530 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenActions.md @@ -0,0 +1,12 @@ +# ServiceTokenActions + +Service Token action type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceTokenChangeOperation.md b/equinix/services/fabricv4/docs/ServiceTokenChangeOperation.md new file mode 100644 index 00000000..1ef4a824 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenChangeOperation.md @@ -0,0 +1,32 @@ +# ServiceTokenChangeOperation + +Service Token change operation data + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**op** | [**PrecisionTimeChangeOperationOp**](PrecisionTimeChangeOperationOp.md) | | +**path** | **str** | path inside document leading to updated parameter | +**value** | **object** | new value for updated parameter | + +## Example + +```python +from equinix.services.fabricv4.models.service_token_change_operation import ServiceTokenChangeOperation + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokenChangeOperation from a JSON string +service_token_change_operation_instance = ServiceTokenChangeOperation.from_json(json) +# print the JSON string representation of the object +print(ServiceTokenChangeOperation.to_json()) + +# convert the object into a dict +service_token_change_operation_dict = service_token_change_operation_instance.to_dict() +# create an instance of ServiceTokenChangeOperation from a dict +service_token_change_operation_form_dict = service_token_change_operation.from_dict(service_token_change_operation_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/ServiceTokenConnection.md b/equinix/services/fabricv4/docs/ServiceTokenConnection.md new file mode 100644 index 00000000..99409fcc --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenConnection.md @@ -0,0 +1,37 @@ +# ServiceTokenConnection + +Service Token Connection Type Information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**ServiceTokenConnectionType**](ServiceTokenConnectionType.md) | | +**href** | **str** | An absolute URL that is the subject of the link's context. | [optional] [readonly] +**uuid** | **str** | Equinix-assigned connection identifier | [optional] +**allow_remote_connection** | **bool** | Authorization to connect remotely | [optional] [default to False] +**bandwidth_limit** | **int** | Connection bandwidth limit in Mbps | [optional] +**supported_bandwidths** | **List[int]** | List of permitted bandwidths. | [optional] +**a_side** | [**ServiceTokenSide**](ServiceTokenSide.md) | | [optional] +**z_side** | [**ServiceTokenSide**](ServiceTokenSide.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_token_connection import ServiceTokenConnection + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokenConnection from a JSON string +service_token_connection_instance = ServiceTokenConnection.from_json(json) +# print the JSON string representation of the object +print(ServiceTokenConnection.to_json()) + +# convert the object into a dict +service_token_connection_dict = service_token_connection_instance.to_dict() +# create an instance of ServiceTokenConnection from a dict +service_token_connection_form_dict = service_token_connection.from_dict(service_token_connection_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/ServiceTokenConnectionType.md b/equinix/services/fabricv4/docs/ServiceTokenConnectionType.md new file mode 100644 index 00000000..cbdb2d4c --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenConnectionType.md @@ -0,0 +1,12 @@ +# ServiceTokenConnectionType + +Type of Connection + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceTokenSearchExpression.md b/equinix/services/fabricv4/docs/ServiceTokenSearchExpression.md new file mode 100644 index 00000000..9943b43c --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenSearchExpression.md @@ -0,0 +1,32 @@ +# ServiceTokenSearchExpression + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[ServiceTokenSearchExpression]**](ServiceTokenSearchExpression.md) | | [optional] +**var_property** | [**ServiceTokenSearchFieldName**](ServiceTokenSearchFieldName.md) | | [optional] +**operator** | [**ServiceTokenSearchExpressionOperator**](ServiceTokenSearchExpressionOperator.md) | | [optional] +**values** | **List[str]** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_token_search_expression import ServiceTokenSearchExpression + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokenSearchExpression from a JSON string +service_token_search_expression_instance = ServiceTokenSearchExpression.from_json(json) +# print the JSON string representation of the object +print(ServiceTokenSearchExpression.to_json()) + +# convert the object into a dict +service_token_search_expression_dict = service_token_search_expression_instance.to_dict() +# create an instance of ServiceTokenSearchExpression from a dict +service_token_search_expression_form_dict = service_token_search_expression.from_dict(service_token_search_expression_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/ServiceTokenSearchExpressionOperator.md b/equinix/services/fabricv4/docs/ServiceTokenSearchExpressionOperator.md new file mode 100644 index 00000000..3805c10d --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenSearchExpressionOperator.md @@ -0,0 +1,11 @@ +# ServiceTokenSearchExpressionOperator + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceTokenSearchFieldName.md b/equinix/services/fabricv4/docs/ServiceTokenSearchFieldName.md new file mode 100644 index 00000000..cc0afd43 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenSearchFieldName.md @@ -0,0 +1,12 @@ +# ServiceTokenSearchFieldName + +Possible field names to use on filters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceTokenSearchRequest.md b/equinix/services/fabricv4/docs/ServiceTokenSearchRequest.md new file mode 100644 index 00000000..3bd053fc --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenSearchRequest.md @@ -0,0 +1,31 @@ +# ServiceTokenSearchRequest + +Search requests containing criteria + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**ServiceTokenSearchExpression**](ServiceTokenSearchExpression.md) | | [optional] +**pagination** | [**PaginationRequest**](PaginationRequest.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_token_search_request import ServiceTokenSearchRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokenSearchRequest from a JSON string +service_token_search_request_instance = ServiceTokenSearchRequest.from_json(json) +# print the JSON string representation of the object +print(ServiceTokenSearchRequest.to_json()) + +# convert the object into a dict +service_token_search_request_dict = service_token_search_request_instance.to_dict() +# create an instance of ServiceTokenSearchRequest from a dict +service_token_search_request_form_dict = service_token_search_request.from_dict(service_token_search_request_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/ServiceTokenSide.md b/equinix/services/fabricv4/docs/ServiceTokenSide.md new file mode 100644 index 00000000..6c52495f --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenSide.md @@ -0,0 +1,30 @@ +# ServiceTokenSide + +Connection link protocol configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_point_selectors** | [**List[AccessPointSelector]**](AccessPointSelector.md) | List of AccessPointSelectors | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_token_side import ServiceTokenSide + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokenSide from a JSON string +service_token_side_instance = ServiceTokenSide.from_json(json) +# print the JSON string representation of the object +print(ServiceTokenSide.to_json()) + +# convert the object into a dict +service_token_side_dict = service_token_side_instance.to_dict() +# create an instance of ServiceTokenSide from a dict +service_token_side_form_dict = service_token_side.from_dict(service_token_side_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/ServiceTokenState.md b/equinix/services/fabricv4/docs/ServiceTokenState.md new file mode 100644 index 00000000..a9e6989d --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenState.md @@ -0,0 +1,12 @@ +# ServiceTokenState + +Service token state + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceTokenType.md b/equinix/services/fabricv4/docs/ServiceTokenType.md new file mode 100644 index 00000000..3bff47e1 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokenType.md @@ -0,0 +1,12 @@ +# ServiceTokenType + +Type of Service Token + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/ServiceTokens.md b/equinix/services/fabricv4/docs/ServiceTokens.md new file mode 100644 index 00000000..9b92eea3 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokens.md @@ -0,0 +1,31 @@ +# ServiceTokens + +Service tokens authorize a user to access protected resources and services available on the Equinix Fabric network. The owner of the resources can distribute service tokens to third-party users (trusted partners and vendors), allowing them to directly access and work with the resources on the network without involving the resource owners. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**data** | [**List[ServiceToken]**](ServiceToken.md) | List of Service Tokens | [optional] +**pagination** | [**Pagination**](Pagination.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.service_tokens import ServiceTokens + +# TODO update the JSON string below +json = "{}" +# create an instance of ServiceTokens from a JSON string +service_tokens_instance = ServiceTokens.from_json(json) +# print the JSON string representation of the object +print(ServiceTokens.to_json()) + +# convert the object into a dict +service_tokens_dict = service_tokens_instance.to_dict() +# create an instance of ServiceTokens from a dict +service_tokens_form_dict = service_tokens.from_dict(service_tokens_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/ServiceTokensApi.md b/equinix/services/fabricv4/docs/ServiceTokensApi.md new file mode 100644 index 00000000..456b70e2 --- /dev/null +++ b/equinix/services/fabricv4/docs/ServiceTokensApi.md @@ -0,0 +1,586 @@ +# equinix.services.fabricv4.ServiceTokensApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_service_token**](ServiceTokensApi.md#create_service_token) | **POST** /fabric/v4/serviceTokens | Create Service Token +[**create_service_token_action**](ServiceTokensApi.md#create_service_token_action) | **POST** /fabric/v4/serviceTokens/{serviceTokenId}/actions | ServiceToken Actions +[**delete_service_token_by_uuid**](ServiceTokensApi.md#delete_service_token_by_uuid) | **DELETE** /fabric/v4/serviceTokens/{serviceTokenId} | Delete Token by uuid +[**get_service_token_by_uuid**](ServiceTokensApi.md#get_service_token_by_uuid) | **GET** /fabric/v4/serviceTokens/{serviceTokenId} | Get Token by uuid +[**get_service_tokens**](ServiceTokensApi.md#get_service_tokens) | **GET** /fabric/v4/serviceTokens | Get All Tokens +[**search_service_tokens**](ServiceTokensApi.md#search_service_tokens) | **POST** /fabric/v4/serviceTokens/search | Search servicetokens +[**update_service_token_by_uuid**](ServiceTokensApi.md#update_service_token_by_uuid) | **PATCH** /fabric/v4/serviceTokens/{serviceTokenId} | Update Token By ID + + +# **create_service_token** +> ServiceToken create_service_token(service_token) + +Create Service Token + +Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_token import ServiceToken +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.ServiceTokensApi(api_client) + service_token = equinix.services.fabricv4.ServiceToken() # ServiceToken | + + try: + # Create Service Token + api_response = api_instance.create_service_token(service_token) + print("The response of ServiceTokensApi->create_service_token:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceTokensApi->create_service_token: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_token** | [**ServiceToken**](ServiceToken.md)| | + +### Return type + +[**ServiceToken**](ServiceToken.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 operation | - | +**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) + +# **create_service_token_action** +> ServiceToken create_service_token_action(service_token_id, service_token_action_request) + +ServiceToken Actions + +This API provides capability to accept/reject user's servicetokens + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_token import ServiceToken +from equinix.services.fabricv4.models.service_token_action_request import ServiceTokenActionRequest +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.ServiceTokensApi(api_client) + service_token_id = 'service_token_id_example' # str | Service Token UUID + service_token_action_request = equinix.services.fabricv4.ServiceTokenActionRequest() # ServiceTokenActionRequest | + + try: + # ServiceToken Actions + api_response = api_instance.create_service_token_action(service_token_id, service_token_action_request) + print("The response of ServiceTokensApi->create_service_token_action:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceTokensApi->create_service_token_action: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_token_id** | **str**| Service Token UUID | + **service_token_action_request** | [**ServiceTokenActionRequest**](ServiceTokenActionRequest.md)| | + +### Return type + +[**ServiceToken**](ServiceToken.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**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) + +# **delete_service_token_by_uuid** +> delete_service_token_by_uuid(service_token_id) + +Delete Token by uuid + +Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state. + +### 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.ServiceTokensApi(api_client) + service_token_id = 'service_token_id_example' # str | Service Token UUID + + try: + # Delete Token by uuid + api_instance.delete_service_token_by_uuid(service_token_id) + except Exception as e: + print("Exception when calling ServiceTokensApi->delete_service_token_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_token_id** | **str**| Service Token UUID | + +### Return type + +void (empty response body) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | Deleted Service Token Successfully | - | +**400** | Bad request | - | +**401** | Unauthorized | - | + +[[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_service_token_by_uuid** +> ServiceToken get_service_token_by_uuid(service_token_id) + +Get Token by uuid + +Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_token import ServiceToken +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.ServiceTokensApi(api_client) + service_token_id = 'service_token_id_example' # str | Service Token UUID + + try: + # Get Token by uuid + api_response = api_instance.get_service_token_by_uuid(service_token_id) + print("The response of ServiceTokensApi->get_service_token_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceTokensApi->get_service_token_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_token_id** | **str**| Service Token UUID | + +### Return type + +[**ServiceToken**](ServiceToken.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 | - | +**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_service_tokens** +> ServiceTokens get_service_tokens(offset=offset, limit=limit) + +Get All Tokens + +Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_tokens import ServiceTokens +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.ServiceTokensApi(api_client) + offset = 3.4 # float | offset (optional) + limit = 3.4 # float | number of records to fetch (optional) + + try: + # Get All Tokens + api_response = api_instance.get_service_tokens(offset=offset, limit=limit) + print("The response of ServiceTokensApi->get_service_tokens:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceTokensApi->get_service_tokens: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **offset** | **float**| offset | [optional] + **limit** | **float**| number of records to fetch | [optional] + +### Return type + +[**ServiceTokens**](ServiceTokens.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 | - | +**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) + +# **search_service_tokens** +> ServiceTokens search_service_tokens(service_token_search_request) + +Search servicetokens + +The API provides capability to get list of user's servicetokens using search criteria, including optional filtering, pagination and sorting + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_token_search_request import ServiceTokenSearchRequest +from equinix.services.fabricv4.models.service_tokens import ServiceTokens +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.ServiceTokensApi(api_client) + service_token_search_request = equinix.services.fabricv4.ServiceTokenSearchRequest() # ServiceTokenSearchRequest | + + try: + # Search servicetokens + api_response = api_instance.search_service_tokens(service_token_search_request) + print("The response of ServiceTokensApi->search_service_tokens:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceTokensApi->search_service_tokens: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_token_search_request** | [**ServiceTokenSearchRequest**](ServiceTokenSearchRequest.md)| | + +### Return type + +[**ServiceTokens**](ServiceTokens.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 | - | +**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) + +# **update_service_token_by_uuid** +> ServiceToken update_service_token_by_uuid(service_token_id, service_token_change_operation) + +Update Token By ID + +This API provides capability to update user's Service Token + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_token import ServiceToken +from equinix.services.fabricv4.models.service_token_change_operation import ServiceTokenChangeOperation +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.ServiceTokensApi(api_client) + service_token_id = 'service_token_id_example' # str | Service Token UUID + service_token_change_operation = [equinix.services.fabricv4.ServiceTokenChangeOperation()] # List[ServiceTokenChangeOperation] | + + try: + # Update Token By ID + api_response = api_instance.update_service_token_by_uuid(service_token_id, service_token_change_operation) + print("The response of ServiceTokensApi->update_service_token_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling ServiceTokensApi->update_service_token_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **service_token_id** | **str**| Service Token UUID | + **service_token_change_operation** | [**List[ServiceTokenChangeOperation]**](ServiceTokenChangeOperation.md)| | + +### Return type + +[**ServiceToken**](ServiceToken.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json-patch+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/SimplifiedAccount.md b/equinix/services/fabricv4/docs/SimplifiedAccount.md new file mode 100644 index 00000000..2cd839ed --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedAccount.md @@ -0,0 +1,40 @@ +# SimplifiedAccount + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **int** | Account number | [optional] +**account_name** | **str** | Account name | [optional] +**org_id** | **int** | Customer organization identifier | [optional] +**organization_name** | **str** | Customer organization name | [optional] +**global_org_id** | **str** | Global organization identifier | [optional] +**global_organization_name** | **str** | Global organization name | [optional] +**ucm_id** | **str** | Account ucmId | [optional] +**global_cust_id** | **str** | Account name | [optional] +**reseller_account_number** | **int** | Reseller account number | [optional] +**reseller_account_name** | **str** | Reseller account name | [optional] +**reseller_ucm_id** | **str** | Reseller account ucmId | [optional] +**reseller_org_id** | **int** | Reseller customer organization identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedAccount from a JSON string +simplified_account_instance = SimplifiedAccount.from_json(json) +# print the JSON string representation of the object +print(SimplifiedAccount.to_json()) + +# convert the object into a dict +simplified_account_dict = simplified_account_instance.to_dict() +# create an instance of SimplifiedAccount from a dict +simplified_account_form_dict = simplified_account.from_dict(simplified_account_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/SimplifiedAccountPortResponse.md b/equinix/services/fabricv4/docs/SimplifiedAccountPortResponse.md new file mode 100644 index 00000000..df7dd384 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedAccountPortResponse.md @@ -0,0 +1,41 @@ +# SimplifiedAccountPortResponse + +Temporary SimplifiedAccount for PortResponse data mismatch of all strings in account + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**account_number** | **str** | Account number | [optional] +**org_id** | **str** | Customer organization identifier | [optional] +**reseller_account_number** | **str** | Reseller account number | [optional] +**reseller_org_id** | **str** | Reseller customer organization identifier | [optional] +**account_name** | **str** | Account name | [optional] +**organization_name** | **str** | Customer organization name | [optional] +**global_org_id** | **str** | Global organization identifier | [optional] +**global_organization_name** | **str** | Global organization name | [optional] +**ucm_id** | **str** | Account ucmId | [optional] +**global_cust_id** | **str** | Account name | [optional] +**reseller_account_name** | **str** | Reseller account name | [optional] +**reseller_ucm_id** | **str** | Reseller account ucmId | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_account_port_response import SimplifiedAccountPortResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedAccountPortResponse from a JSON string +simplified_account_port_response_instance = SimplifiedAccountPortResponse.from_json(json) +# print the JSON string representation of the object +print(SimplifiedAccountPortResponse.to_json()) + +# convert the object into a dict +simplified_account_port_response_dict = simplified_account_port_response_instance.to_dict() +# create an instance of SimplifiedAccountPortResponse from a dict +simplified_account_port_response_form_dict = simplified_account_port_response.from_dict(simplified_account_port_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/SimplifiedLinkProtocol.md b/equinix/services/fabricv4/docs/SimplifiedLinkProtocol.md new file mode 100644 index 00000000..ac21dbb6 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedLinkProtocol.md @@ -0,0 +1,33 @@ +# SimplifiedLinkProtocol + +Connection link protocol Configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**LinkProtocolType**](LinkProtocolType.md) | | [optional] +**vlan_tag** | **int** | vlanTag value specified for DOT1Q connections | [optional] +**vlan_s_tag** | **int** | vlanSTag value specified for QINQ connections | [optional] +**vlan_c_tag** | **int** | vlanCTag value specified for QINQ connections | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_link_protocol import SimplifiedLinkProtocol + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedLinkProtocol from a JSON string +simplified_link_protocol_instance = SimplifiedLinkProtocol.from_json(json) +# print the JSON string representation of the object +print(SimplifiedLinkProtocol.to_json()) + +# convert the object into a dict +simplified_link_protocol_dict = simplified_link_protocol_instance.to_dict() +# create an instance of SimplifiedLinkProtocol from a dict +simplified_link_protocol_form_dict = simplified_link_protocol.from_dict(simplified_link_protocol_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/SimplifiedLocation.md b/equinix/services/fabricv4/docs/SimplifiedLocation.md new file mode 100644 index 00000000..af8fda8c --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedLocation.md @@ -0,0 +1,33 @@ +# SimplifiedLocation + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**region** | **str** | | [optional] +**metro_name** | **str** | | [optional] +**metro_code** | **str** | | [optional] +**metro_href** | **str** | | [optional] +**ibx** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedLocation from a JSON string +simplified_location_instance = SimplifiedLocation.from_json(json) +# print the JSON string representation of the object +print(SimplifiedLocation.to_json()) + +# convert the object into a dict +simplified_location_dict = simplified_location_instance.to_dict() +# create an instance of SimplifiedLocation from a dict +simplified_location_form_dict = simplified_location.from_dict(simplified_location_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/SimplifiedLocationWithoutIBX.md b/equinix/services/fabricv4/docs/SimplifiedLocationWithoutIBX.md new file mode 100644 index 00000000..773a8cba --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedLocationWithoutIBX.md @@ -0,0 +1,32 @@ +# SimplifiedLocationWithoutIBX + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The Canonical URL at which the resource resides. | [optional] +**region** | **str** | | [optional] +**metro_name** | **str** | | [optional] +**metro_code** | **str** | | + +## Example + +```python +from equinix.services.fabricv4.models.simplified_location_without_ibx import SimplifiedLocationWithoutIBX + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedLocationWithoutIBX from a JSON string +simplified_location_without_ibx_instance = SimplifiedLocationWithoutIBX.from_json(json) +# print the JSON string representation of the object +print(SimplifiedLocationWithoutIBX.to_json()) + +# convert the object into a dict +simplified_location_without_ibx_dict = simplified_location_without_ibx_instance.to_dict() +# create an instance of SimplifiedLocationWithoutIBX from a dict +simplified_location_without_ibx_form_dict = simplified_location_without_ibx.from_dict(simplified_location_without_ibx_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/SimplifiedMetadataEntity.md b/equinix/services/fabricv4/docs/SimplifiedMetadataEntity.md new file mode 100644 index 00000000..72fcfa67 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedMetadataEntity.md @@ -0,0 +1,32 @@ +# SimplifiedMetadataEntity + +Configuration details for port used at the access point. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | url to entity | [optional] +**uuid** | **str** | Equinix assigned Identifier | [optional] +**type** | **str** | Type of Port | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_metadata_entity import SimplifiedMetadataEntity + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedMetadataEntity from a JSON string +simplified_metadata_entity_instance = SimplifiedMetadataEntity.from_json(json) +# print the JSON string representation of the object +print(SimplifiedMetadataEntity.to_json()) + +# convert the object into a dict +simplified_metadata_entity_dict = simplified_metadata_entity_instance.to_dict() +# create an instance of SimplifiedMetadataEntity from a dict +simplified_metadata_entity_form_dict = simplified_metadata_entity.from_dict(simplified_metadata_entity_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/SimplifiedNetwork.md b/equinix/services/fabricv4/docs/SimplifiedNetwork.md new file mode 100644 index 00000000..ff423783 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedNetwork.md @@ -0,0 +1,41 @@ +# SimplifiedNetwork + +Network specification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Network URI | [optional] [readonly] +**uuid** | **str** | Equinix-assigned network identifier | +**name** | **str** | Customer-assigned network name | [optional] +**state** | [**NetworkState**](NetworkState.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**change** | [**SimplifiedNetworkChange**](SimplifiedNetworkChange.md) | | [optional] +**operation** | [**NetworkOperation**](NetworkOperation.md) | | [optional] +**change_log** | [**Changelog**](Changelog.md) | | [optional] +**links** | [**List[Link]**](Link.md) | Network sub-resources links | [optional] [readonly] +**type** | [**NetworkType**](NetworkType.md) | | [optional] +**scope** | [**NetworkScope**](NetworkScope.md) | | [optional] +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_network import SimplifiedNetwork + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedNetwork from a JSON string +simplified_network_instance = SimplifiedNetwork.from_json(json) +# print the JSON string representation of the object +print(SimplifiedNetwork.to_json()) + +# convert the object into a dict +simplified_network_dict = simplified_network_instance.to_dict() +# create an instance of SimplifiedNetwork from a dict +simplified_network_form_dict = simplified_network.from_dict(simplified_network_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/SimplifiedNetworkChange.md b/equinix/services/fabricv4/docs/SimplifiedNetworkChange.md new file mode 100644 index 00000000..b7a4a06a --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedNetworkChange.md @@ -0,0 +1,32 @@ +# SimplifiedNetworkChange + +Current state of latest network change + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Network URI | [optional] [readonly] +**uuid** | **str** | Uniquely identifies a change | [optional] +**type** | [**NetworkChangeType**](NetworkChangeType.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_network_change import SimplifiedNetworkChange + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedNetworkChange from a JSON string +simplified_network_change_instance = SimplifiedNetworkChange.from_json(json) +# print the JSON string representation of the object +print(SimplifiedNetworkChange.to_json()) + +# convert the object into a dict +simplified_network_change_dict = simplified_network_change_instance.to_dict() +# create an instance of SimplifiedNetworkChange from a dict +simplified_network_change_form_dict = simplified_network_change.from_dict(simplified_network_change_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/SimplifiedNotification.md b/equinix/services/fabricv4/docs/SimplifiedNotification.md new file mode 100644 index 00000000..727ce778 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedNotification.md @@ -0,0 +1,32 @@ +# SimplifiedNotification + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**SimplifiedNotificationType**](SimplifiedNotificationType.md) | | +**send_interval** | **str** | | [optional] +**emails** | **List[str]** | Array of contact emails | +**registered_users** | **List[str]** | Array of registered users | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedNotification from a JSON string +simplified_notification_instance = SimplifiedNotification.from_json(json) +# print the JSON string representation of the object +print(SimplifiedNotification.to_json()) + +# convert the object into a dict +simplified_notification_dict = simplified_notification_instance.to_dict() +# create an instance of SimplifiedNotification from a dict +simplified_notification_form_dict = simplified_notification.from_dict(simplified_notification_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/SimplifiedNotificationType.md b/equinix/services/fabricv4/docs/SimplifiedNotificationType.md new file mode 100644 index 00000000..bdb30760 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedNotificationType.md @@ -0,0 +1,12 @@ +# SimplifiedNotificationType + +Notification Type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SimplifiedPort.md b/equinix/services/fabricv4/docs/SimplifiedPort.md new file mode 100644 index 00000000..ef563665 --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedPort.md @@ -0,0 +1,58 @@ +# SimplifiedPort + +Port specification + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**type** | [**PortType**](PortType.md) | | [optional] +**id** | **int** | Equinix assigned response attribute for Port Id | [optional] +**href** | **str** | Equinix assigned response attribute for an absolute URL that is the subject of the link's context. | [optional] [readonly] +**uuid** | **str** | Equinix assigned response attribute for port identifier | [optional] +**name** | **str** | Equinix assigned response attribute for Port name | [optional] +**description** | **str** | Equinix assigned response attribute for Port description | [optional] +**physical_ports_speed** | **int** | Physical Ports Speed in Mbps | [optional] +**connections_count** | **int** | Equinix assigned response attribute for Connection count | [optional] +**project** | [**Project**](Project.md) | | [optional] +**state** | [**PortState**](PortState.md) | | [optional] +**cvp_id** | **str** | Equinix assigned response attribute for Unique ID for a virtual port. | [optional] +**operation** | [**PortOperation**](PortOperation.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] +**service_type** | [**PortResponseServiceType**](PortResponseServiceType.md) | | [optional] +**bandwidth** | **int** | Equinix assigned response attribute for Port bandwidth in Mbps | [optional] +**available_bandwidth** | **int** | Equinix assigned response attribute for Port available bandwidth in Mbps | [optional] +**used_bandwidth** | **int** | Equinix assigned response attribute for Port used bandwidth in Mbps | [optional] +**location** | [**SimplifiedLocation**](SimplifiedLocation.md) | | [optional] +**device** | [**PortDevice**](PortDevice.md) | | [optional] +**interface** | [**PortInterface**](PortInterface.md) | | [optional] +**tether** | [**PortTether**](PortTether.md) | | [optional] +**demarcation_point** | [**PortDemarcationPoint**](PortDemarcationPoint.md) | | [optional] +**redundancy** | [**PortRedundancy**](PortRedundancy.md) | | [optional] +**encapsulation** | [**PortEncapsulation**](PortEncapsulation.md) | | [optional] +**lag_enabled** | **bool** | If LAG enabled | [optional] +**settings** | [**PortSettings**](PortSettings.md) | | [optional] +**physical_port_quantity** | **int** | Number of physical ports | [optional] +**additional_info** | [**List[PortAdditionalInfo]**](PortAdditionalInfo.md) | Port additional information | [optional] +**physical_ports** | [**List[PhysicalPort]**](PhysicalPort.md) | Physical ports that implement this port | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_port import SimplifiedPort + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedPort from a JSON string +simplified_port_instance = SimplifiedPort.from_json(json) +# print the JSON string representation of the object +print(SimplifiedPort.to_json()) + +# convert the object into a dict +simplified_port_dict = simplified_port_instance.to_dict() +# create an instance of SimplifiedPort from a dict +simplified_port_form_dict = simplified_port.from_dict(simplified_port_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/SimplifiedServiceProfile.md b/equinix/services/fabricv4/docs/SimplifiedServiceProfile.md new file mode 100644 index 00000000..e7741abe --- /dev/null +++ b/equinix/services/fabricv4/docs/SimplifiedServiceProfile.md @@ -0,0 +1,46 @@ +# SimplifiedServiceProfile + +Service Profile is a software definition for a named provider service and it's network connectivity requirements. This includes the basic marketing information and one or more sets of access points (a set per each access point type) fulfilling the provider service. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Service Profile URI response attribute | [optional] [readonly] +**type** | [**ServiceProfileTypeEnum**](ServiceProfileTypeEnum.md) | | [optional] +**name** | **str** | Customer-assigned service profile name | [optional] +**uuid** | **str** | Equinix-assigned service profile identifier | [optional] +**description** | **str** | User-provided service description should be of maximum length 375 | [optional] +**notifications** | [**List[SimplifiedNotification]**](SimplifiedNotification.md) | Recipients of notifications on service profile change | [optional] +**tags** | **List[str]** | | [optional] +**visibility** | [**ServiceProfileVisibilityEnum**](ServiceProfileVisibilityEnum.md) | | [optional] +**allowed_emails** | **List[str]** | | [optional] +**access_point_type_configs** | [**List[ServiceProfileAccessPointType]**](ServiceProfileAccessPointType.md) | | [optional] +**custom_fields** | [**List[CustomField]**](CustomField.md) | | [optional] +**marketing_info** | [**MarketingInfo**](MarketingInfo.md) | | [optional] +**ports** | [**List[ServiceProfileAccessPointCOLO]**](ServiceProfileAccessPointCOLO.md) | | [optional] +**virtual_devices** | [**List[ServiceProfileAccessPointVD]**](ServiceProfileAccessPointVD.md) | | [optional] +**metros** | [**List[ServiceMetro]**](ServiceMetro.md) | Derived response attribute. | [optional] +**self_profile** | **bool** | response attribute indicates whether the profile belongs to the same organization as the api-invoker. | [optional] +**project_id** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.simplified_service_profile import SimplifiedServiceProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of SimplifiedServiceProfile from a JSON string +simplified_service_profile_instance = SimplifiedServiceProfile.from_json(json) +# print the JSON string representation of the object +print(SimplifiedServiceProfile.to_json()) + +# convert the object into a dict +simplified_service_profile_dict = simplified_service_profile_instance.to_dict() +# create an instance of SimplifiedServiceProfile from a dict +simplified_service_profile_form_dict = simplified_service_profile.from_dict(simplified_service_profile_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/Sort.md b/equinix/services/fabricv4/docs/Sort.md new file mode 100644 index 00000000..a3b42878 --- /dev/null +++ b/equinix/services/fabricv4/docs/Sort.md @@ -0,0 +1,12 @@ +# Sort + +Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SortBy.md b/equinix/services/fabricv4/docs/SortBy.md new file mode 100644 index 00000000..19f26932 --- /dev/null +++ b/equinix/services/fabricv4/docs/SortBy.md @@ -0,0 +1,12 @@ +# SortBy + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SortCriteria.md b/equinix/services/fabricv4/docs/SortCriteria.md new file mode 100644 index 00000000..d7df4e09 --- /dev/null +++ b/equinix/services/fabricv4/docs/SortCriteria.md @@ -0,0 +1,30 @@ +# SortCriteria + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**SortDirection**](SortDirection.md) | | [optional] +**var_property** | [**SortBy**](SortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.sort_criteria import SortCriteria + +# TODO update the JSON string below +json = "{}" +# create an instance of SortCriteria from a JSON string +sort_criteria_instance = SortCriteria.from_json(json) +# print the JSON string representation of the object +print(SortCriteria.to_json()) + +# convert the object into a dict +sort_criteria_dict = sort_criteria_instance.to_dict() +# create an instance of SortCriteria from a dict +sort_criteria_form_dict = sort_criteria.from_dict(sort_criteria_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/SortCriteriaResponse.md b/equinix/services/fabricv4/docs/SortCriteriaResponse.md new file mode 100644 index 00000000..4ebd4cee --- /dev/null +++ b/equinix/services/fabricv4/docs/SortCriteriaResponse.md @@ -0,0 +1,30 @@ +# SortCriteriaResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**direction** | [**SortDirection**](SortDirection.md) | | [optional] +**var_property** | [**SortBy**](SortBy.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.sort_criteria_response import SortCriteriaResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of SortCriteriaResponse from a JSON string +sort_criteria_response_instance = SortCriteriaResponse.from_json(json) +# print the JSON string representation of the object +print(SortCriteriaResponse.to_json()) + +# convert the object into a dict +sort_criteria_response_dict = sort_criteria_response_instance.to_dict() +# create an instance of SortCriteriaResponse from a dict +sort_criteria_response_form_dict = sort_criteria_response.from_dict(sort_criteria_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/SortDirection.md b/equinix/services/fabricv4/docs/SortDirection.md new file mode 100644 index 00000000..63ab298b --- /dev/null +++ b/equinix/services/fabricv4/docs/SortDirection.md @@ -0,0 +1,12 @@ +# SortDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SortItem.md b/equinix/services/fabricv4/docs/SortItem.md new file mode 100644 index 00000000..bcc0fec6 --- /dev/null +++ b/equinix/services/fabricv4/docs/SortItem.md @@ -0,0 +1,30 @@ +# SortItem + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | [**SortItemProperty**](SortItemProperty.md) | | [optional] +**direction** | [**SortItemDirection**](SortItemDirection.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.sort_item import SortItem + +# TODO update the JSON string below +json = "{}" +# create an instance of SortItem from a JSON string +sort_item_instance = SortItem.from_json(json) +# print the JSON string representation of the object +print(SortItem.to_json()) + +# convert the object into a dict +sort_item_dict = sort_item_instance.to_dict() +# create an instance of SortItem from a dict +sort_item_form_dict = sort_item.from_dict(sort_item_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/SortItemDirection.md b/equinix/services/fabricv4/docs/SortItemDirection.md new file mode 100644 index 00000000..c0ceaf59 --- /dev/null +++ b/equinix/services/fabricv4/docs/SortItemDirection.md @@ -0,0 +1,12 @@ +# SortItemDirection + +Sorting direction + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SortItemProperty.md b/equinix/services/fabricv4/docs/SortItemProperty.md new file mode 100644 index 00000000..eb3b871d --- /dev/null +++ b/equinix/services/fabricv4/docs/SortItemProperty.md @@ -0,0 +1,12 @@ +# SortItemProperty + +Possible field names to use on sorting + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/Statistics.md b/equinix/services/fabricv4/docs/Statistics.md new file mode 100644 index 00000000..ea96425a --- /dev/null +++ b/equinix/services/fabricv4/docs/Statistics.md @@ -0,0 +1,33 @@ +# Statistics + +This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**start_date_time** | **datetime** | Start and duration of the statistical analysis interval. | [optional] +**end_date_time** | **datetime** | End and duration of the statistical analysis interval. | [optional] +**view_point** | [**StatisticsViewPoint**](StatisticsViewPoint.md) | | [optional] +**bandwidth_utilization** | [**BandwidthUtilization**](BandwidthUtilization.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.statistics import Statistics + +# TODO update the JSON string below +json = "{}" +# create an instance of Statistics from a JSON string +statistics_instance = Statistics.from_json(json) +# print the JSON string representation of the object +print(Statistics.to_json()) + +# convert the object into a dict +statistics_dict = statistics_instance.to_dict() +# create an instance of Statistics from a dict +statistics_form_dict = statistics.from_dict(statistics_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/StatisticsApi.md b/equinix/services/fabricv4/docs/StatisticsApi.md new file mode 100644 index 00000000..7d44e512 --- /dev/null +++ b/equinix/services/fabricv4/docs/StatisticsApi.md @@ -0,0 +1,279 @@ +# equinix.services.fabricv4.StatisticsApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**get_connection_stats_by_port_uuid**](StatisticsApi.md#get_connection_stats_by_port_uuid) | **GET** /fabric/v4/connections/{connectionId}/stats | Get Stats by uuid +[**get_port_stats**](StatisticsApi.md#get_port_stats) | **GET** /fabric/v4/ports/stats | Top Port Statistics +[**get_port_stats_by_port_uuid**](StatisticsApi.md#get_port_stats_by_port_uuid) | **GET** /fabric/v4/ports/{portId}/stats | Get Stats by uuid + + +# **get_connection_stats_by_port_uuid** +> Statistics get_connection_stats_by_port_uuid(connection_id, start_date_time, end_date_time, view_point) + +Get Stats by uuid + +This API provides service-level metrics so that you can view access and gather key information required to manage service subscription sizing and capacity + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.statistics import Statistics +from equinix.services.fabricv4.models.view_point import ViewPoint +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.StatisticsApi(api_client) + connection_id = 'connection_id_example' # str | Connection UUID + start_date_time = '2020-11-06T07:00:00Z' # datetime | startDateTime + end_date_time = '2020-11-10T07:00:00Z' # datetime | endDateTime + view_point = equinix.services.fabricv4.ViewPoint() # ViewPoint | viewPoint + + try: + # Get Stats by uuid + api_response = api_instance.get_connection_stats_by_port_uuid(connection_id, start_date_time, end_date_time, view_point) + print("The response of StatisticsApi->get_connection_stats_by_port_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling StatisticsApi->get_connection_stats_by_port_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **connection_id** | **str**| Connection UUID | + **start_date_time** | **datetime**| startDateTime | + **end_date_time** | **datetime**| endDateTime | + **view_point** | [**ViewPoint**](.md)| viewPoint | + +### Return type + +[**Statistics**](Statistics.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 | - | + +[[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_port_stats** +> TopUtilizedStatistics get_port_stats(metros, sort=sort, top=top, duration=duration, direction=direction, metric_interval=metric_interval, project_id=project_id) + +Top Port Statistics + +This API provides top utilized service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.duration import Duration +from equinix.services.fabricv4.models.metric_interval import MetricInterval +from equinix.services.fabricv4.models.query_direction import QueryDirection +from equinix.services.fabricv4.models.sort import Sort +from equinix.services.fabricv4.models.top_utilized_statistics import TopUtilizedStatistics +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.StatisticsApi(api_client) + metros = ['metros_example'] # List[str] | Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. + sort = equinix.services.fabricv4.Sort() # Sort | Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. (optional) + top = 5 # int | Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. (optional) (default to 5) + duration = equinix.services.fabricv4.Duration() # Duration | duration (optional) + direction = equinix.services.fabricv4.QueryDirection() # QueryDirection | Direction of traffic from the requester's viewpoint. The default is outbound. (optional) + metric_interval = equinix.services.fabricv4.MetricInterval() # MetricInterval | metricInterval (optional) + project_id = 'project_id_example' # str | projectId (optional) + + try: + # Top Port Statistics + api_response = api_instance.get_port_stats(metros, sort=sort, top=top, duration=duration, direction=direction, metric_interval=metric_interval, project_id=project_id) + print("The response of StatisticsApi->get_port_stats:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling StatisticsApi->get_port_stats: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metros** | [**List[str]**](str.md)| Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. | + **sort** | [**Sort**](.md)| Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. | [optional] + **top** | **int**| Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. | [optional] [default to 5] + **duration** | [**Duration**](.md)| duration | [optional] + **direction** | [**QueryDirection**](.md)| Direction of traffic from the requester's viewpoint. The default is outbound. | [optional] + **metric_interval** | [**MetricInterval**](.md)| metricInterval | [optional] + **project_id** | **str**| projectId | [optional] + +### Return type + +[**TopUtilizedStatistics**](TopUtilizedStatistics.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 | - | + +[[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_port_stats_by_port_uuid** +> Statistics get_port_stats_by_port_uuid(port_id, start_date_time, end_date_time) + +Get Stats by uuid + +This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.statistics import Statistics +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.StatisticsApi(api_client) + port_id = 'port_id_example' # str | Port UUID + start_date_time = '2020-11-06T07:00:00Z' # datetime | startDateTime + end_date_time = '2020-11-10T07:00:00Z' # datetime | endDateTime + + try: + # Get Stats by uuid + api_response = api_instance.get_port_stats_by_port_uuid(port_id, start_date_time, end_date_time) + print("The response of StatisticsApi->get_port_stats_by_port_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling StatisticsApi->get_port_stats_by_port_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **port_id** | **str**| Port UUID | + **start_date_time** | **datetime**| startDateTime | + **end_date_time** | **datetime**| endDateTime | + +### Return type + +[**Statistics**](Statistics.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 | - | +**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/StatisticsViewPoint.md b/equinix/services/fabricv4/docs/StatisticsViewPoint.md new file mode 100644 index 00000000..76b936ad --- /dev/null +++ b/equinix/services/fabricv4/docs/StatisticsViewPoint.md @@ -0,0 +1,12 @@ +# StatisticsViewPoint + +Point of view for connection metrics - aSide or zSide + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/SubInterface.md b/equinix/services/fabricv4/docs/SubInterface.md new file mode 100644 index 00000000..0b4fe764 --- /dev/null +++ b/equinix/services/fabricv4/docs/SubInterface.md @@ -0,0 +1,31 @@ +# SubInterface + +Sub Interface information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | name of subinterafce of a port | [optional] +**unit** | **int** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.sub_interface import SubInterface + +# TODO update the JSON string below +json = "{}" +# create an instance of SubInterface from a JSON string +sub_interface_instance = SubInterface.from_json(json) +# print the JSON string representation of the object +print(SubInterface.to_json()) + +# convert the object into a dict +sub_interface_dict = sub_interface_instance.to_dict() +# create an instance of SubInterface from a dict +sub_interface_form_dict = sub_interface.from_dict(sub_interface_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/TopUtilizedStatistics.md b/equinix/services/fabricv4/docs/TopUtilizedStatistics.md new file mode 100644 index 00000000..da474b2f --- /dev/null +++ b/equinix/services/fabricv4/docs/TopUtilizedStatistics.md @@ -0,0 +1,31 @@ +# TopUtilizedStatistics + +This API provides service-level traffic metrics for the top utilized ports so that you can view access and gather key information required to manage service subscription sizing and capacity. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[Statistics]**](Statistics.md) | Data returned from the API call. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.top_utilized_statistics import TopUtilizedStatistics + +# TODO update the JSON string below +json = "{}" +# create an instance of TopUtilizedStatistics from a JSON string +top_utilized_statistics_instance = TopUtilizedStatistics.from_json(json) +# print the JSON string representation of the object +print(TopUtilizedStatistics.to_json()) + +# convert the object into a dict +top_utilized_statistics_dict = top_utilized_statistics_instance.to_dict() +# create an instance of TopUtilizedStatistics from a dict +top_utilized_statistics_form_dict = top_utilized_statistics.from_dict(top_utilized_statistics_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/ValidateRequest.md b/equinix/services/fabricv4/docs/ValidateRequest.md new file mode 100644 index 00000000..1a0f9a3c --- /dev/null +++ b/equinix/services/fabricv4/docs/ValidateRequest.md @@ -0,0 +1,30 @@ +# ValidateRequest + +Validate connection auth api key or vlan + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**ValidateRequestFilter**](ValidateRequestFilter.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.validate_request import ValidateRequest + +# TODO update the JSON string below +json = "{}" +# create an instance of ValidateRequest from a JSON string +validate_request_instance = ValidateRequest.from_json(json) +# print the JSON string representation of the object +print(ValidateRequest.to_json()) + +# convert the object into a dict +validate_request_dict = validate_request_instance.to_dict() +# create an instance of ValidateRequest from a dict +validate_request_form_dict = validate_request.from_dict(validate_request_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/ValidateRequestFilter.md b/equinix/services/fabricv4/docs/ValidateRequestFilter.md new file mode 100644 index 00000000..82cf4e71 --- /dev/null +++ b/equinix/services/fabricv4/docs/ValidateRequestFilter.md @@ -0,0 +1,30 @@ +# ValidateRequestFilter + +Filters + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_and** | [**List[ValidateRequestFilterAnd]**](ValidateRequestFilterAnd.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.validate_request_filter import ValidateRequestFilter + +# TODO update the JSON string below +json = "{}" +# create an instance of ValidateRequestFilter from a JSON string +validate_request_filter_instance = ValidateRequestFilter.from_json(json) +# print the JSON string representation of the object +print(ValidateRequestFilter.to_json()) + +# convert the object into a dict +validate_request_filter_dict = validate_request_filter_instance.to_dict() +# create an instance of ValidateRequestFilter from a dict +validate_request_filter_form_dict = validate_request_filter.from_dict(validate_request_filter_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/ValidateRequestFilterAnd.md b/equinix/services/fabricv4/docs/ValidateRequestFilterAnd.md new file mode 100644 index 00000000..371bca17 --- /dev/null +++ b/equinix/services/fabricv4/docs/ValidateRequestFilterAnd.md @@ -0,0 +1,31 @@ +# ValidateRequestFilterAnd + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Path to property | [optional] +**operator** | **str** | Type of operation | [optional] +**values** | **List[str]** | Values for the given property | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.validate_request_filter_and import ValidateRequestFilterAnd + +# TODO update the JSON string below +json = "{}" +# create an instance of ValidateRequestFilterAnd from a JSON string +validate_request_filter_and_instance = ValidateRequestFilterAnd.from_json(json) +# print the JSON string representation of the object +print(ValidateRequestFilterAnd.to_json()) + +# convert the object into a dict +validate_request_filter_and_dict = validate_request_filter_and_instance.to_dict() +# create an instance of ValidateRequestFilterAnd from a dict +validate_request_filter_and_form_dict = validate_request_filter_and.from_dict(validate_request_filter_and_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/ValidateSubnetResponse.md b/equinix/services/fabricv4/docs/ValidateSubnetResponse.md new file mode 100644 index 00000000..74ebe375 --- /dev/null +++ b/equinix/services/fabricv4/docs/ValidateSubnetResponse.md @@ -0,0 +1,30 @@ +# ValidateSubnetResponse + +ValidateResponse + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**additional_info** | [**List[ConnectionSideAdditionalInfo]**](ConnectionSideAdditionalInfo.md) | Additional information | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.validate_subnet_response import ValidateSubnetResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of ValidateSubnetResponse from a JSON string +validate_subnet_response_instance = ValidateSubnetResponse.from_json(json) +# print the JSON string representation of the object +print(ValidateSubnetResponse.to_json()) + +# convert the object into a dict +validate_subnet_response_dict = validate_subnet_response_instance.to_dict() +# create an instance of ValidateSubnetResponse from a dict +validate_subnet_response_form_dict = validate_subnet_response.from_dict(validate_subnet_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/ViewPoint.md b/equinix/services/fabricv4/docs/ViewPoint.md new file mode 100644 index 00000000..fc0103cc --- /dev/null +++ b/equinix/services/fabricv4/docs/ViewPoint.md @@ -0,0 +1,12 @@ +# ViewPoint + +viewPoint + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualConnectionBridgePackageCode.md b/equinix/services/fabricv4/docs/VirtualConnectionBridgePackageCode.md new file mode 100644 index 00000000..1f90dd37 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionBridgePackageCode.md @@ -0,0 +1,12 @@ +# VirtualConnectionBridgePackageCode + +Virtual Connection bridge package code + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualConnectionPrice.md b/equinix/services/fabricv4/docs/VirtualConnectionPrice.md new file mode 100644 index 00000000..cc1d916a --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPrice.md @@ -0,0 +1,34 @@ +# VirtualConnectionPrice + +Virtual Connection Product configuration + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Either uuid or rest of attributes are required | [optional] +**type** | [**VirtualConnectionPriceConnectionType**](VirtualConnectionPriceConnectionType.md) | | [optional] +**bandwidth** | **int** | | [optional] +**a_side** | [**VirtualConnectionPriceASide**](VirtualConnectionPriceASide.md) | | [optional] +**z_side** | [**VirtualConnectionPriceZSide**](VirtualConnectionPriceZSide.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price import VirtualConnectionPrice + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPrice from a JSON string +virtual_connection_price_instance = VirtualConnectionPrice.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPrice.to_json()) + +# convert the object into a dict +virtual_connection_price_dict = virtual_connection_price_instance.to_dict() +# create an instance of VirtualConnectionPrice from a dict +virtual_connection_price_form_dict = virtual_connection_price.from_dict(virtual_connection_price_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/VirtualConnectionPriceASide.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceASide.md new file mode 100644 index 00000000..576f932a --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceASide.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceASide + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_point** | [**VirtualConnectionPriceASideAccessPoint**](VirtualConnectionPriceASideAccessPoint.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_a_side import VirtualConnectionPriceASide + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceASide from a JSON string +virtual_connection_price_a_side_instance = VirtualConnectionPriceASide.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceASide.to_json()) + +# convert the object into a dict +virtual_connection_price_a_side_dict = virtual_connection_price_a_side_instance.to_dict() +# create an instance of VirtualConnectionPriceASide from a dict +virtual_connection_price_a_side_form_dict = virtual_connection_price_a_side.from_dict(virtual_connection_price_a_side_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/VirtualConnectionPriceASideAccessPoint.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPoint.md new file mode 100644 index 00000000..af3acba3 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPoint.md @@ -0,0 +1,32 @@ +# VirtualConnectionPriceASideAccessPoint + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] +**type** | [**VirtualConnectionPriceAccessPointType**](VirtualConnectionPriceAccessPointType.md) | | [optional] +**location** | [**PriceLocation**](PriceLocation.md) | | [optional] +**port** | [**VirtualConnectionPriceASideAccessPointPort**](VirtualConnectionPriceASideAccessPointPort.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point import VirtualConnectionPriceASideAccessPoint + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceASideAccessPoint from a JSON string +virtual_connection_price_a_side_access_point_instance = VirtualConnectionPriceASideAccessPoint.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceASideAccessPoint.to_json()) + +# convert the object into a dict +virtual_connection_price_a_side_access_point_dict = virtual_connection_price_a_side_access_point_instance.to_dict() +# create an instance of VirtualConnectionPriceASideAccessPoint from a dict +virtual_connection_price_a_side_access_point_form_dict = virtual_connection_price_a_side_access_point.from_dict(virtual_connection_price_a_side_access_point_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/VirtualConnectionPriceASideAccessPointPort.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPointPort.md new file mode 100644 index 00000000..f607009e --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPointPort.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceASideAccessPointPort + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**settings** | [**VirtualConnectionPriceASideAccessPointPortSettings**](VirtualConnectionPriceASideAccessPointPortSettings.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port import VirtualConnectionPriceASideAccessPointPort + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceASideAccessPointPort from a JSON string +virtual_connection_price_a_side_access_point_port_instance = VirtualConnectionPriceASideAccessPointPort.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceASideAccessPointPort.to_json()) + +# convert the object into a dict +virtual_connection_price_a_side_access_point_port_dict = virtual_connection_price_a_side_access_point_port_instance.to_dict() +# create an instance of VirtualConnectionPriceASideAccessPointPort from a dict +virtual_connection_price_a_side_access_point_port_form_dict = virtual_connection_price_a_side_access_point_port.from_dict(virtual_connection_price_a_side_access_point_port_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/VirtualConnectionPriceASideAccessPointPortSettings.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPointPortSettings.md new file mode 100644 index 00000000..5348ec4a --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPointPortSettings.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceASideAccessPointPortSettings + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**buyout** | **bool** | | [optional] [default to False] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings import VirtualConnectionPriceASideAccessPointPortSettings + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceASideAccessPointPortSettings from a JSON string +virtual_connection_price_a_side_access_point_port_settings_instance = VirtualConnectionPriceASideAccessPointPortSettings.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceASideAccessPointPortSettings.to_json()) + +# convert the object into a dict +virtual_connection_price_a_side_access_point_port_settings_dict = virtual_connection_price_a_side_access_point_port_settings_instance.to_dict() +# create an instance of VirtualConnectionPriceASideAccessPointPortSettings from a dict +virtual_connection_price_a_side_access_point_port_settings_form_dict = virtual_connection_price_a_side_access_point_port_settings.from_dict(virtual_connection_price_a_side_access_point_port_settings_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/VirtualConnectionPriceAccessPointType.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceAccessPointType.md new file mode 100644 index 00000000..35250b72 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceAccessPointType.md @@ -0,0 +1,12 @@ +# VirtualConnectionPriceAccessPointType + +Virtual Connection access point type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualConnectionPriceConnectionType.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceConnectionType.md new file mode 100644 index 00000000..8b01e4ab --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceConnectionType.md @@ -0,0 +1,12 @@ +# VirtualConnectionPriceConnectionType + +Virtual Connection type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualConnectionPriceZSide.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSide.md new file mode 100644 index 00000000..c1dbdcf3 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSide.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceZSide + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**access_point** | [**VirtualConnectionPriceZSideAccessPoint**](VirtualConnectionPriceZSideAccessPoint.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_z_side import VirtualConnectionPriceZSide + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceZSide from a JSON string +virtual_connection_price_z_side_instance = VirtualConnectionPriceZSide.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceZSide.to_json()) + +# convert the object into a dict +virtual_connection_price_z_side_dict = virtual_connection_price_z_side_instance.to_dict() +# create an instance of VirtualConnectionPriceZSide from a dict +virtual_connection_price_z_side_form_dict = virtual_connection_price_z_side.from_dict(virtual_connection_price_z_side_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/VirtualConnectionPriceZSideAccessPoint.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPoint.md new file mode 100644 index 00000000..c4246c9e --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPoint.md @@ -0,0 +1,34 @@ +# VirtualConnectionPriceZSideAccessPoint + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] +**type** | [**VirtualConnectionPriceAccessPointType**](VirtualConnectionPriceAccessPointType.md) | | [optional] +**location** | [**PriceLocation**](PriceLocation.md) | | [optional] +**port** | [**VirtualConnectionPriceASideAccessPointPort**](VirtualConnectionPriceASideAccessPointPort.md) | | [optional] +**profile** | [**VirtualConnectionPriceZSideAccessPointProfile**](VirtualConnectionPriceZSideAccessPointProfile.md) | | [optional] +**bridge** | [**VirtualConnectionPriceZSideAccessPointBridge**](VirtualConnectionPriceZSideAccessPointBridge.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point import VirtualConnectionPriceZSideAccessPoint + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceZSideAccessPoint from a JSON string +virtual_connection_price_z_side_access_point_instance = VirtualConnectionPriceZSideAccessPoint.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceZSideAccessPoint.to_json()) + +# convert the object into a dict +virtual_connection_price_z_side_access_point_dict = virtual_connection_price_z_side_access_point_instance.to_dict() +# create an instance of VirtualConnectionPriceZSideAccessPoint from a dict +virtual_connection_price_z_side_access_point_form_dict = virtual_connection_price_z_side_access_point.from_dict(virtual_connection_price_z_side_access_point_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/VirtualConnectionPriceZSideAccessPointBridge.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointBridge.md new file mode 100644 index 00000000..5cf5f5ff --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointBridge.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceZSideAccessPointBridge + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**package** | [**VirtualConnectionPriceZSideAccessPointBridgePackage**](VirtualConnectionPriceZSideAccessPointBridgePackage.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge import VirtualConnectionPriceZSideAccessPointBridge + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceZSideAccessPointBridge from a JSON string +virtual_connection_price_z_side_access_point_bridge_instance = VirtualConnectionPriceZSideAccessPointBridge.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceZSideAccessPointBridge.to_json()) + +# convert the object into a dict +virtual_connection_price_z_side_access_point_bridge_dict = virtual_connection_price_z_side_access_point_bridge_instance.to_dict() +# create an instance of VirtualConnectionPriceZSideAccessPointBridge from a dict +virtual_connection_price_z_side_access_point_bridge_form_dict = virtual_connection_price_z_side_access_point_bridge.from_dict(virtual_connection_price_z_side_access_point_bridge_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/VirtualConnectionPriceZSideAccessPointBridgePackage.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointBridgePackage.md new file mode 100644 index 00000000..c915768e --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointBridgePackage.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceZSideAccessPointBridgePackage + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**code** | [**VirtualConnectionBridgePackageCode**](VirtualConnectionBridgePackageCode.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package import VirtualConnectionPriceZSideAccessPointBridgePackage + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceZSideAccessPointBridgePackage from a JSON string +virtual_connection_price_z_side_access_point_bridge_package_instance = VirtualConnectionPriceZSideAccessPointBridgePackage.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceZSideAccessPointBridgePackage.to_json()) + +# convert the object into a dict +virtual_connection_price_z_side_access_point_bridge_package_dict = virtual_connection_price_z_side_access_point_bridge_package_instance.to_dict() +# create an instance of VirtualConnectionPriceZSideAccessPointBridgePackage from a dict +virtual_connection_price_z_side_access_point_bridge_package_form_dict = virtual_connection_price_z_side_access_point_bridge_package.from_dict(virtual_connection_price_z_side_access_point_bridge_package_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/VirtualConnectionPriceZSideAccessPointProfile.md b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointProfile.md new file mode 100644 index 00000000..27f5a735 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointProfile.md @@ -0,0 +1,29 @@ +# VirtualConnectionPriceZSideAccessPointProfile + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile import VirtualConnectionPriceZSideAccessPointProfile + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualConnectionPriceZSideAccessPointProfile from a JSON string +virtual_connection_price_z_side_access_point_profile_instance = VirtualConnectionPriceZSideAccessPointProfile.from_json(json) +# print the JSON string representation of the object +print(VirtualConnectionPriceZSideAccessPointProfile.to_json()) + +# convert the object into a dict +virtual_connection_price_z_side_access_point_profile_dict = virtual_connection_price_z_side_access_point_profile_instance.to_dict() +# create an instance of VirtualConnectionPriceZSideAccessPointProfile from a dict +virtual_connection_price_z_side_access_point_profile_form_dict = virtual_connection_price_z_side_access_point_profile.from_dict(virtual_connection_price_z_side_access_point_profile_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/VirtualDevice.md b/equinix/services/fabricv4/docs/VirtualDevice.md new file mode 100644 index 00000000..cfb80db6 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualDevice.md @@ -0,0 +1,34 @@ +# VirtualDevice + +Virtual Device AccessPoint Information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | Virtual Device URI | [optional] [readonly] +**uuid** | **str** | Equinix-assigned Virtual Device identifier | [optional] +**name** | **str** | Customer-assigned Virtual Device name | [optional] +**type** | [**VirtualDeviceType**](VirtualDeviceType.md) | | [optional] +**account** | [**SimplifiedAccount**](SimplifiedAccount.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_device import VirtualDevice + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualDevice from a JSON string +virtual_device_instance = VirtualDevice.from_json(json) +# print the JSON string representation of the object +print(VirtualDevice.to_json()) + +# convert the object into a dict +virtual_device_dict = virtual_device_instance.to_dict() +# create an instance of VirtualDevice from a dict +virtual_device_form_dict = virtual_device.from_dict(virtual_device_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/VirtualDeviceType.md b/equinix/services/fabricv4/docs/VirtualDeviceType.md new file mode 100644 index 00000000..08d46ba1 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualDeviceType.md @@ -0,0 +1,12 @@ +# VirtualDeviceType + +Virtual Device type + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualNetwork.md b/equinix/services/fabricv4/docs/VirtualNetwork.md new file mode 100644 index 00000000..8ccfc8a9 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualNetwork.md @@ -0,0 +1,31 @@ +# VirtualNetwork + +Virtual Network Information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The Canonical URL at which the resource resides. | [optional] [readonly] +**uuid** | **str** | Equinix-assigned Virtual Network identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_network import VirtualNetwork + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualNetwork from a JSON string +virtual_network_instance = VirtualNetwork.from_json(json) +# print the JSON string representation of the object +print(VirtualNetwork.to_json()) + +# convert the object into a dict +virtual_network_dict = virtual_network_instance.to_dict() +# create an instance of VirtualNetwork from a dict +virtual_network_form_dict = virtual_network.from_dict(virtual_network_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/VirtualPortConfiguration.md b/equinix/services/fabricv4/docs/VirtualPortConfiguration.md new file mode 100644 index 00000000..d2a11616 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualPortConfiguration.md @@ -0,0 +1,30 @@ +# VirtualPortConfiguration + +Port configuration. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**buyout** | **bool** | Buyout (true) or standard (false) configuration of the port at this access point. <br> Buyout ports offer free, unlimited connections. Standard ports do not. The default is false. | [optional] [default to False] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_port_configuration import VirtualPortConfiguration + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualPortConfiguration from a JSON string +virtual_port_configuration_instance = VirtualPortConfiguration.from_json(json) +# print the JSON string representation of the object +print(VirtualPortConfiguration.to_json()) + +# convert the object into a dict +virtual_port_configuration_dict = virtual_port_configuration_instance.to_dict() +# create an instance of VirtualPortConfiguration from a dict +virtual_port_configuration_form_dict = virtual_port_configuration.from_dict(virtual_port_configuration_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/VirtualPortLocation.md b/equinix/services/fabricv4/docs/VirtualPortLocation.md new file mode 100644 index 00000000..d65f7785 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualPortLocation.md @@ -0,0 +1,30 @@ +# VirtualPortLocation + +Geographic data for the port. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**ibx** | **str** | Code assigned to the Equinix International Business Exchange (IBX) data center from which the port is ordered. <br> The port might be in a different location. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_port_location import VirtualPortLocation + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualPortLocation from a JSON string +virtual_port_location_instance = VirtualPortLocation.from_json(json) +# print the JSON string representation of the object +print(VirtualPortLocation.to_json()) + +# convert the object into a dict +virtual_port_location_dict = virtual_port_location_instance.to_dict() +# create an instance of VirtualPortLocation from a dict +virtual_port_location_form_dict = virtual_port_location.from_dict(virtual_port_location_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/VirtualPortPrice.md b/equinix/services/fabricv4/docs/VirtualPortPrice.md new file mode 100644 index 00000000..d634382e --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualPortPrice.md @@ -0,0 +1,39 @@ +# VirtualPortPrice + +Preferences and settings for a virtual port connected to an internet service provider (ISP) or other Equinix platform entity. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**uuid** | **str** | Unique identifier assigned to the virtual port. Either the uuid or the remaining attributes must be supplied. | [optional] +**type** | [**VirtualPortType**](VirtualPortType.md) | | [optional] +**location** | [**VirtualPortLocation**](VirtualPortLocation.md) | | [optional] +**lag** | [**LinkAggregationGroup**](LinkAggregationGroup.md) | | [optional] +**physical_ports_quantity** | **int** | Number of physical ports requested. The defaults is 1. | [optional] [default to 1] +**bandwidth** | **int** | Aggregated data transfer capacity, expressed as follows <br> -> Mbps, megabits (1 million bits) per second <br> -> Gbps, gigabits (1 billion bits) per second <br> Bandwidth must be divisible by physicalPortsQuantity. | [optional] +**redundancy** | [**VirtualPortRedundancy**](VirtualPortRedundancy.md) | | [optional] +**connectivity_source** | [**ConnectivitySource**](ConnectivitySource.md) | | [optional] +**service_type** | [**VirtualPortServiceType**](VirtualPortServiceType.md) | | [optional] +**settings** | [**VirtualPortConfiguration**](VirtualPortConfiguration.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_port_price import VirtualPortPrice + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualPortPrice from a JSON string +virtual_port_price_instance = VirtualPortPrice.from_json(json) +# print the JSON string representation of the object +print(VirtualPortPrice.to_json()) + +# convert the object into a dict +virtual_port_price_dict = virtual_port_price_instance.to_dict() +# create an instance of VirtualPortPrice from a dict +virtual_port_price_form_dict = virtual_port_price.from_dict(virtual_port_price_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/VirtualPortRedundancy.md b/equinix/services/fabricv4/docs/VirtualPortRedundancy.md new file mode 100644 index 00000000..1752a71e --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualPortRedundancy.md @@ -0,0 +1,30 @@ +# VirtualPortRedundancy + +Specifications for redundant connections, which improve service continuity by routing traffic to secondary ports when primary ports are unavailable.
Redundancy increases resilience and boosts site reliability scores. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**enabled** | **bool** | Parameter showing whether redundancy is mandatory. The default is false. | [optional] [default to False] + +## Example + +```python +from equinix.services.fabricv4.models.virtual_port_redundancy import VirtualPortRedundancy + +# TODO update the JSON string below +json = "{}" +# create an instance of VirtualPortRedundancy from a JSON string +virtual_port_redundancy_instance = VirtualPortRedundancy.from_json(json) +# print the JSON string representation of the object +print(VirtualPortRedundancy.to_json()) + +# convert the object into a dict +virtual_port_redundancy_dict = virtual_port_redundancy_instance.to_dict() +# create an instance of VirtualPortRedundancy from a dict +virtual_port_redundancy_form_dict = virtual_port_redundancy.from_dict(virtual_port_redundancy_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/VirtualPortServiceType.md b/equinix/services/fabricv4/docs/VirtualPortServiceType.md new file mode 100644 index 00000000..f2485d48 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualPortServiceType.md @@ -0,0 +1,12 @@ +# VirtualPortServiceType + +Port service type. The default is managed-service provider (MSP). + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VirtualPortType.md b/equinix/services/fabricv4/docs/VirtualPortType.md new file mode 100644 index 00000000..7f0fc8a6 --- /dev/null +++ b/equinix/services/fabricv4/docs/VirtualPortType.md @@ -0,0 +1,12 @@ +# VirtualPortType + +Port type. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- + +[[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/VpicInterface.md b/equinix/services/fabricv4/docs/VpicInterface.md new file mode 100644 index 00000000..1d923aff --- /dev/null +++ b/equinix/services/fabricv4/docs/VpicInterface.md @@ -0,0 +1,31 @@ +# VpicInterface + +MCN VPIC Interface Information + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | The Canonical URL at which the resource resides. | [optional] [readonly] +**uuid** | **str** | MCN assigned VPIC Interface Identifier | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.vpic_interface import VpicInterface + +# TODO update the JSON string below +json = "{}" +# create an instance of VpicInterface from a JSON string +vpic_interface_instance = VpicInterface.from_json(json) +# print the JSON string representation of the object +print(VpicInterface.to_json()) + +# convert the object into a dict +vpic_interface_dict = vpic_interface_instance.to_dict() +# create an instance of VpicInterface from a dict +vpic_interface_form_dict = vpic_interface.from_dict(vpic_interface_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/exceptions.py b/equinix/services/fabricv4/exceptions.py new file mode 100644 index 00000000..84482780 --- /dev/null +++ b/equinix/services/fabricv4/exceptions.py @@ -0,0 +1,200 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +from typing import Any, Optional +from typing_extensions import Self + +class OpenApiException(Exception): + """The base exception class for all OpenAPIExceptions""" + + +class ApiTypeError(OpenApiException, TypeError): + def __init__(self, msg, path_to_item=None, valid_classes=None, + key_type=None) -> None: + """ Raises an exception for TypeErrors + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list): a list of keys an indices to get to the + current_item + None if unset + valid_classes (tuple): the primitive classes that current item + should be an instance of + None if unset + key_type (bool): False if our value is a value in a dict + True if it is a key in a dict + False if our item is an item in a list + None if unset + """ + self.path_to_item = path_to_item + self.valid_classes = valid_classes + self.key_type = key_type + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiTypeError, self).__init__(full_msg) + + +class ApiValueError(OpenApiException, ValueError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (list) the path to the exception in the + received_data dict. None if unset + """ + + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiValueError, self).__init__(full_msg) + + +class ApiAttributeError(OpenApiException, AttributeError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Raised when an attribute reference or assignment fails. + + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiAttributeError, self).__init__(full_msg) + + +class ApiKeyError(OpenApiException, KeyError): + def __init__(self, msg, path_to_item=None) -> None: + """ + Args: + msg (str): the exception message + + Keyword Args: + path_to_item (None/list) the path to the exception in the + received_data dict + """ + self.path_to_item = path_to_item + full_msg = msg + if path_to_item: + full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) + super(ApiKeyError, self).__init__(full_msg) + + +class ApiException(OpenApiException): + + def __init__( + self, + status=None, + reason=None, + http_resp=None, + *, + body: Optional[str] = None, + data: Optional[Any] = None, + ) -> None: + self.status = status + self.reason = reason + self.body = body + self.data = data + self.headers = None + + if http_resp: + if self.status is None: + self.status = http_resp.status + if self.reason is None: + self.reason = http_resp.reason + if self.body is None: + try: + self.body = http_resp.data.decode('utf-8') + except Exception: + pass + self.headers = http_resp.getheaders() + + @classmethod + def from_response( + cls, + *, + http_resp, + body: Optional[str], + data: Optional[Any], + ) -> Self: + if http_resp.status == 400: + raise BadRequestException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 401: + raise UnauthorizedException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 403: + raise ForbiddenException(http_resp=http_resp, body=body, data=data) + + if http_resp.status == 404: + raise NotFoundException(http_resp=http_resp, body=body, data=data) + + if 500 <= http_resp.status <= 599: + raise ServiceException(http_resp=http_resp, body=body, data=data) + raise ApiException(http_resp=http_resp, body=body, data=data) + + def __str__(self): + """Custom error messages for exception""" + error_message = "({0})\n"\ + "Reason: {1}\n".format(self.status, self.reason) + if self.headers: + error_message += "HTTP response headers: {0}\n".format( + self.headers) + + if self.data or self.body: + error_message += "HTTP response body: {0}\n".format(self.data or self.body) + + return error_message + + +class BadRequestException(ApiException): + pass + + +class NotFoundException(ApiException): + pass + + +class UnauthorizedException(ApiException): + pass + + +class ForbiddenException(ApiException): + pass + + +class ServiceException(ApiException): + pass + + +def render_path(path_to_item): + """Returns a string representation of a path""" + result = "" + for pth in path_to_item: + if isinstance(pth, int): + result += "[{0}]".format(pth) + else: + result += "['{0}']".format(pth) + return result diff --git a/equinix/services/fabricv4/models/__init__.py b/equinix/services/fabricv4/models/__init__.py new file mode 100644 index 00000000..03717426 --- /dev/null +++ b/equinix/services/fabricv4/models/__init__.py @@ -0,0 +1,430 @@ +# coding: utf-8 + +# flake8: noqa +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +# import models into model package +from equinix.services.fabricv4.models.access_point import AccessPoint +from equinix.services.fabricv4.models.access_point_selector import AccessPointSelector +from equinix.services.fabricv4.models.access_point_selector_type import AccessPointSelectorType +from equinix.services.fabricv4.models.access_point_type import AccessPointType +from equinix.services.fabricv4.models.account import Account +from equinix.services.fabricv4.models.actions import Actions +from equinix.services.fabricv4.models.add_operation import AddOperation +from equinix.services.fabricv4.models.advance_configuration import AdvanceConfiguration +from equinix.services.fabricv4.models.all_physical_ports_response import AllPhysicalPortsResponse +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse +from equinix.services.fabricv4.models.api_config import ApiConfig +from equinix.services.fabricv4.models.api_services import ApiServices +from equinix.services.fabricv4.models.authentication_key import AuthenticationKey +from equinix.services.fabricv4.models.bgp_action_data import BGPActionData +from equinix.services.fabricv4.models.bgp_action_request import BGPActionRequest +from equinix.services.fabricv4.models.bgp_action_states import BGPActionStates +from equinix.services.fabricv4.models.bgp_actions import BGPActions +from equinix.services.fabricv4.models.bgp_actions_bulk_data import BGPActionsBulkData +from equinix.services.fabricv4.models.bgp_connection_ipv4 import BGPConnectionIpv4 +from equinix.services.fabricv4.models.bgp_connection_ipv6 import BGPConnectionIpv6 +from equinix.services.fabricv4.models.bgp_connection_operation import BGPConnectionOperation +from equinix.services.fabricv4.models.bgp_connection_operation_operational_status import BGPConnectionOperationOperationalStatus +from equinix.services.fabricv4.models.bandwidth_utilization import BandwidthUtilization +from equinix.services.fabricv4.models.bandwidth_utilization_unit import BandwidthUtilizationUnit +from equinix.services.fabricv4.models.bulk_physical_port import BulkPhysicalPort +from equinix.services.fabricv4.models.bulk_port import BulkPort +from equinix.services.fabricv4.models.change import Change +from equinix.services.fabricv4.models.change_status import ChangeStatus +from equinix.services.fabricv4.models.change_type import ChangeType +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.cloud_router import CloudRouter +from equinix.services.fabricv4.models.cloud_router_access_point_state import CloudRouterAccessPointState +from equinix.services.fabricv4.models.cloud_router_action_request import CloudRouterActionRequest +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse +from equinix.services.fabricv4.models.cloud_router_action_state import CloudRouterActionState +from equinix.services.fabricv4.models.cloud_router_action_type import CloudRouterActionType +from equinix.services.fabricv4.models.cloud_router_change import CloudRouterChange +from equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation +from equinix.services.fabricv4.models.cloud_router_change_status import CloudRouterChangeStatus +from equinix.services.fabricv4.models.cloud_router_change_type import CloudRouterChangeType +from equinix.services.fabricv4.models.cloud_router_filter import CloudRouterFilter +from equinix.services.fabricv4.models.cloud_router_filters import CloudRouterFilters +from equinix.services.fabricv4.models.cloud_router_or_filter import CloudRouterOrFilter +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage +from equinix.services.fabricv4.models.cloud_router_package_nat_type import CloudRouterPackageNatType +from equinix.services.fabricv4.models.cloud_router_package_type import CloudRouterPackageType +from equinix.services.fabricv4.models.cloud_router_post_request import CloudRouterPostRequest +from equinix.services.fabricv4.models.cloud_router_post_request_package import CloudRouterPostRequestPackage +from equinix.services.fabricv4.models.cloud_router_post_request_package_code import CloudRouterPostRequestPackageCode +from equinix.services.fabricv4.models.cloud_router_post_request_package_type import CloudRouterPostRequestPackageType +from equinix.services.fabricv4.models.cloud_router_post_request_type import CloudRouterPostRequestType +from equinix.services.fabricv4.models.cloud_router_search_request import CloudRouterSearchRequest +from equinix.services.fabricv4.models.cloud_router_simple_expression import CloudRouterSimpleExpression +from equinix.services.fabricv4.models.cloud_router_sort_by import CloudRouterSortBy +from equinix.services.fabricv4.models.cloud_router_sort_criteria import CloudRouterSortCriteria +from equinix.services.fabricv4.models.cloud_router_sort_direction import CloudRouterSortDirection +from equinix.services.fabricv4.models.code import Code +from equinix.services.fabricv4.models.connected_metro import ConnectedMetro +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_acceptance_data import ConnectionAcceptanceData +from equinix.services.fabricv4.models.connection_action import ConnectionAction +from equinix.services.fabricv4.models.connection_action_request import ConnectionActionRequest +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +from equinix.services.fabricv4.models.connection_company_profile import ConnectionCompanyProfile +from equinix.services.fabricv4.models.connection_direction import ConnectionDirection +from equinix.services.fabricv4.models.connection_invitation import ConnectionInvitation +from equinix.services.fabricv4.models.connection_link import ConnectionLink +from equinix.services.fabricv4.models.connection_link_type import ConnectionLinkType +from equinix.services.fabricv4.models.connection_operation import ConnectionOperation +from equinix.services.fabricv4.models.connection_operation_operational_status import ConnectionOperationOperationalStatus +from equinix.services.fabricv4.models.connection_post_request import ConnectionPostRequest +from equinix.services.fabricv4.models.connection_priority import ConnectionPriority +from equinix.services.fabricv4.models.connection_redundancy import ConnectionRedundancy +from equinix.services.fabricv4.models.connection_response import ConnectionResponse +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData +from equinix.services.fabricv4.models.connection_route_filter_data_attachment_status import ConnectionRouteFilterDataAttachmentStatus +from equinix.services.fabricv4.models.connection_route_filter_data_direction import ConnectionRouteFilterDataDirection +from equinix.services.fabricv4.models.connection_route_filter_data_type import ConnectionRouteFilterDataType +from equinix.services.fabricv4.models.connection_route_filters_base import ConnectionRouteFiltersBase +from equinix.services.fabricv4.models.connection_route_filters_base_direction import ConnectionRouteFiltersBaseDirection +from equinix.services.fabricv4.models.connection_routing_protocol_post_request import ConnectionRoutingProtocolPostRequest +from equinix.services.fabricv4.models.connection_search_response import ConnectionSearchResponse +from equinix.services.fabricv4.models.connection_side import ConnectionSide +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from equinix.services.fabricv4.models.connection_state import ConnectionState +from equinix.services.fabricv4.models.connection_type import ConnectionType +from equinix.services.fabricv4.models.connectivity_source import ConnectivitySource +from equinix.services.fabricv4.models.connectivity_source_type import ConnectivitySourceType +from equinix.services.fabricv4.models.custom_field import CustomField +from equinix.services.fabricv4.models.custom_field_data_type import CustomFieldDataType +from equinix.services.fabricv4.models.direct_connection_ipv4 import DirectConnectionIpv4 +from equinix.services.fabricv4.models.direct_connection_ipv6 import DirectConnectionIpv6 +from equinix.services.fabricv4.models.direction import Direction +from equinix.services.fabricv4.models.duration import Duration +from equinix.services.fabricv4.models.equinix_status import EquinixStatus +from equinix.services.fabricv4.models.error import Error +from equinix.services.fabricv4.models.expression import Expression +from equinix.services.fabricv4.models.expression_operator import ExpressionOperator +from equinix.services.fabricv4.models.fabric_cloud_router_code import FabricCloudRouterCode +from equinix.services.fabricv4.models.fabric_cloud_router_packages import FabricCloudRouterPackages +from equinix.services.fabricv4.models.fabric_cloud_router_price import FabricCloudRouterPrice +from equinix.services.fabricv4.models.fabric_connection_uuid import FabricConnectionUuid +from equinix.services.fabricv4.models.filter_body import FilterBody +from equinix.services.fabricv4.models.geo_coordinates import GeoCoordinates +from equinix.services.fabricv4.models.geo_scope_type import GeoScopeType +from equinix.services.fabricv4.models.get_all_connection_route_filters_response import GetAllConnectionRouteFiltersResponse +from equinix.services.fabricv4.models.get_response import GetResponse +from equinix.services.fabricv4.models.get_route_filter_get_connections_response import GetRouteFilterGetConnectionsResponse +from equinix.services.fabricv4.models.get_route_filter_rules_response import GetRouteFilterRulesResponse +from equinix.services.fabricv4.models.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter +from equinix.services.fabricv4.models.health_response import HealthResponse +from equinix.services.fabricv4.models.interface import Interface +from equinix.services.fabricv4.models.interface_type import InterfaceType +from equinix.services.fabricv4.models.internet_access import InternetAccess +from equinix.services.fabricv4.models.ip_block_price import IpBlockPrice +from equinix.services.fabricv4.models.ip_block_type import IpBlockType +from equinix.services.fabricv4.models.ipv4 import Ipv4 +from equinix.services.fabricv4.models.json_patch_operation import JsonPatchOperation +from equinix.services.fabricv4.models.link import Link +from equinix.services.fabricv4.models.link_aggregation_group import LinkAggregationGroup +from equinix.services.fabricv4.models.link_protocol import LinkProtocol +from equinix.services.fabricv4.models.link_protocol_connection import LinkProtocolConnection +from equinix.services.fabricv4.models.link_protocol_dot1q import LinkProtocolDot1q +from equinix.services.fabricv4.models.link_protocol_evpn_vxlan import LinkProtocolEvpnVxlan +from equinix.services.fabricv4.models.link_protocol_get_response import LinkProtocolGetResponse +from equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config import LinkProtocolIpv4Ipv6Config +from equinix.services.fabricv4.models.link_protocol_qinq import LinkProtocolQinq +from equinix.services.fabricv4.models.link_protocol_request_type import LinkProtocolRequestType +from equinix.services.fabricv4.models.link_protocol_response import LinkProtocolResponse +from equinix.services.fabricv4.models.link_protocol_service_token import LinkProtocolServiceToken +from equinix.services.fabricv4.models.link_protocol_state import LinkProtocolState +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from equinix.services.fabricv4.models.link_protocol_untagged import LinkProtocolUntagged +from equinix.services.fabricv4.models.link_protocol_vxlan import LinkProtocolVxlan +from equinix.services.fabricv4.models.marketing_info import MarketingInfo +from equinix.services.fabricv4.models.md5 import Md5 +from equinix.services.fabricv4.models.md5_type import Md5Type +from equinix.services.fabricv4.models.metal_interconnection import MetalInterconnection +from equinix.services.fabricv4.models.metric_interval import MetricInterval +from equinix.services.fabricv4.models.metrics import Metrics +from equinix.services.fabricv4.models.metro import Metro +from equinix.services.fabricv4.models.metro_error import MetroError +from equinix.services.fabricv4.models.metro_error_error_code import MetroErrorErrorCode +from equinix.services.fabricv4.models.metro_error_error_message import MetroErrorErrorMessage +from equinix.services.fabricv4.models.metro_response import MetroResponse +from equinix.services.fabricv4.models.network import Network +from equinix.services.fabricv4.models.network_change import NetworkChange +from equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation +from equinix.services.fabricv4.models.network_change_response import NetworkChangeResponse +from equinix.services.fabricv4.models.network_change_status import NetworkChangeStatus +from equinix.services.fabricv4.models.network_change_type import NetworkChangeType +from equinix.services.fabricv4.models.network_connections import NetworkConnections +from equinix.services.fabricv4.models.network_equinix_status import NetworkEquinixStatus +from equinix.services.fabricv4.models.network_filter import NetworkFilter +from equinix.services.fabricv4.models.network_filter_operator import NetworkFilterOperator +from equinix.services.fabricv4.models.network_operation import NetworkOperation +from equinix.services.fabricv4.models.network_post_request import NetworkPostRequest +from equinix.services.fabricv4.models.network_scope import NetworkScope +from equinix.services.fabricv4.models.network_search_field_name import NetworkSearchFieldName +from equinix.services.fabricv4.models.network_search_request import NetworkSearchRequest +from equinix.services.fabricv4.models.network_search_response import NetworkSearchResponse +from equinix.services.fabricv4.models.network_sort_by import NetworkSortBy +from equinix.services.fabricv4.models.network_sort_by_response import NetworkSortByResponse +from equinix.services.fabricv4.models.network_sort_criteria import NetworkSortCriteria +from equinix.services.fabricv4.models.network_sort_criteria_response import NetworkSortCriteriaResponse +from equinix.services.fabricv4.models.network_sort_direction import NetworkSortDirection +from equinix.services.fabricv4.models.network_sort_direction_response import NetworkSortDirectionResponse +from equinix.services.fabricv4.models.network_state import NetworkState +from equinix.services.fabricv4.models.network_type import NetworkType +from equinix.services.fabricv4.models.op_enum import OpEnum +from equinix.services.fabricv4.models.order import Order +from equinix.services.fabricv4.models.package_change_log import PackageChangeLog +from equinix.services.fabricv4.models.package_response import PackageResponse +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.peering_type import PeeringType +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from equinix.services.fabricv4.models.physical_port_type import PhysicalPortType +from equinix.services.fabricv4.models.port import Port +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint +from equinix.services.fabricv4.models.port_device import PortDevice +from equinix.services.fabricv4.models.port_device_redundancy import PortDeviceRedundancy +from equinix.services.fabricv4.models.port_device_redundancy_priority import PortDeviceRedundancyPriority +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation +from equinix.services.fabricv4.models.port_encapsulation_type import PortEncapsulationType +from equinix.services.fabricv4.models.port_expression import PortExpression +from equinix.services.fabricv4.models.port_interface import PortInterface +from equinix.services.fabricv4.models.port_lag import PortLag +from equinix.services.fabricv4.models.port_loa import PortLoa +from equinix.services.fabricv4.models.port_loa_type import PortLoaType +from equinix.services.fabricv4.models.port_notification import PortNotification +from equinix.services.fabricv4.models.port_notification_type import PortNotificationType +from equinix.services.fabricv4.models.port_operation import PortOperation +from equinix.services.fabricv4.models.port_operation_operational_status import PortOperationOperationalStatus +from equinix.services.fabricv4.models.port_order import PortOrder +from equinix.services.fabricv4.models.port_order_purchase_order import PortOrderPurchaseOrder +from equinix.services.fabricv4.models.port_order_purchase_order_selection_type import PortOrderPurchaseOrderSelectionType +from equinix.services.fabricv4.models.port_order_signature import PortOrderSignature +from equinix.services.fabricv4.models.port_order_signature_delegate import PortOrderSignatureDelegate +from equinix.services.fabricv4.models.port_order_signature_signatory import PortOrderSignatureSignatory +from equinix.services.fabricv4.models.port_priority import PortPriority +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy +from equinix.services.fabricv4.models.port_response import PortResponse +from equinix.services.fabricv4.models.port_response_bmmr_type import PortResponseBmmrType +from equinix.services.fabricv4.models.port_response_connectivity_source_type import PortResponseConnectivitySourceType +from equinix.services.fabricv4.models.port_response_physical_ports_type import PortResponsePhysicalPortsType +from equinix.services.fabricv4.models.port_response_service_type import PortResponseServiceType +from equinix.services.fabricv4.models.port_search_field_name import PortSearchFieldName +from equinix.services.fabricv4.models.port_settings import PortSettings +from equinix.services.fabricv4.models.port_settings_package_type import PortSettingsPackageType +from equinix.services.fabricv4.models.port_settings_shared_port_product import PortSettingsSharedPortProduct +from equinix.services.fabricv4.models.port_sort_by import PortSortBy +from equinix.services.fabricv4.models.port_sort_criteria import PortSortCriteria +from equinix.services.fabricv4.models.port_sort_direction import PortSortDirection +from equinix.services.fabricv4.models.port_state import PortState +from equinix.services.fabricv4.models.port_tether import PortTether +from equinix.services.fabricv4.models.port_type import PortType +from equinix.services.fabricv4.models.port_v4_search_request import PortV4SearchRequest +from equinix.services.fabricv4.models.precision_time_change_operation import PrecisionTimeChangeOperation +from equinix.services.fabricv4.models.precision_time_change_operation_op import PrecisionTimeChangeOperationOp +from equinix.services.fabricv4.models.precision_time_change_operation_path import PrecisionTimeChangeOperationPath +from equinix.services.fabricv4.models.precision_time_package_request import PrecisionTimePackageRequest +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse +from equinix.services.fabricv4.models.precision_time_package_response_type import PrecisionTimePackageResponseType +from equinix.services.fabricv4.models.precision_time_service_connections_response import PrecisionTimeServiceConnectionsResponse +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse +from equinix.services.fabricv4.models.precision_time_service_create_response_state import PrecisionTimeServiceCreateResponseState +from equinix.services.fabricv4.models.precision_time_service_create_response_type import PrecisionTimeServiceCreateResponseType +from equinix.services.fabricv4.models.precision_time_service_packages_response import PrecisionTimeServicePackagesResponse +from equinix.services.fabricv4.models.precision_time_service_request import PrecisionTimeServiceRequest +from equinix.services.fabricv4.models.precision_time_service_request_type import PrecisionTimeServiceRequestType +from equinix.services.fabricv4.models.presence import Presence +from equinix.services.fabricv4.models.price import Price +from equinix.services.fabricv4.models.price_category import PriceCategory +from equinix.services.fabricv4.models.price_charge import PriceCharge +from equinix.services.fabricv4.models.price_charge_type import PriceChargeType +from equinix.services.fabricv4.models.price_error import PriceError +from equinix.services.fabricv4.models.price_error_additional_info import PriceErrorAdditionalInfo +from equinix.services.fabricv4.models.price_error_error_code import PriceErrorErrorCode +from equinix.services.fabricv4.models.price_error_error_message import PriceErrorErrorMessage +from equinix.services.fabricv4.models.price_location import PriceLocation +from equinix.services.fabricv4.models.price_search_response import PriceSearchResponse +from equinix.services.fabricv4.models.price_term_length import PriceTermLength +from equinix.services.fabricv4.models.process_step import ProcessStep +from equinix.services.fabricv4.models.product_type import ProductType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.provider_status import ProviderStatus +from equinix.services.fabricv4.models.ptp_advance_configuration import PtpAdvanceConfiguration +from equinix.services.fabricv4.models.ptp_advance_configuration_time_scale import PtpAdvanceConfigurationTimeScale +from equinix.services.fabricv4.models.ptp_advance_configuration_transport_mode import PtpAdvanceConfigurationTransportMode +from equinix.services.fabricv4.models.query_direction import QueryDirection +from equinix.services.fabricv4.models.remove_operation import RemoveOperation +from equinix.services.fabricv4.models.replace_operation import ReplaceOperation +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData +from equinix.services.fabricv4.models.route_filter_change_data_response import RouteFilterChangeDataResponse +from equinix.services.fabricv4.models.route_filter_connections_data import RouteFilterConnectionsData +from equinix.services.fabricv4.models.route_filter_rule_state import RouteFilterRuleState +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from equinix.services.fabricv4.models.route_filter_rules_change import RouteFilterRulesChange +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData +from equinix.services.fabricv4.models.route_filter_rules_change_data_response import RouteFilterRulesChangeDataResponse +from equinix.services.fabricv4.models.route_filter_rules_change_operation import RouteFilterRulesChangeOperation +from equinix.services.fabricv4.models.route_filter_rules_change_type import RouteFilterRulesChangeType +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +from equinix.services.fabricv4.models.route_filter_rules_data_action import RouteFilterRulesDataAction +from equinix.services.fabricv4.models.route_filter_rules_data_type import RouteFilterRulesDataType +from equinix.services.fabricv4.models.route_filter_rules_patch_request_item import RouteFilterRulesPatchRequestItem +from equinix.services.fabricv4.models.route_filter_rules_post_request import RouteFilterRulesPostRequest +from equinix.services.fabricv4.models.route_filter_state import RouteFilterState +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase +from equinix.services.fabricv4.models.route_filters_change import RouteFiltersChange +from equinix.services.fabricv4.models.route_filters_change_operation import RouteFiltersChangeOperation +from equinix.services.fabricv4.models.route_filters_change_type import RouteFiltersChangeType +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +from equinix.services.fabricv4.models.route_filters_data_not_matched_rule_action import RouteFiltersDataNotMatchedRuleAction +from equinix.services.fabricv4.models.route_filters_data_project import RouteFiltersDataProject +from equinix.services.fabricv4.models.route_filters_patch_request_item import RouteFiltersPatchRequestItem +from equinix.services.fabricv4.models.route_filters_search_base import RouteFiltersSearchBase +from equinix.services.fabricv4.models.route_filters_search_base_filter import RouteFiltersSearchBaseFilter +from equinix.services.fabricv4.models.route_filters_search_filter_item import RouteFiltersSearchFilterItem +from equinix.services.fabricv4.models.route_filters_search_filter_item_property import RouteFiltersSearchFilterItemProperty +from equinix.services.fabricv4.models.route_filters_search_response import RouteFiltersSearchResponse +from equinix.services.fabricv4.models.route_table_entry import RouteTableEntry +from equinix.services.fabricv4.models.route_table_entry_connection import RouteTableEntryConnection +from equinix.services.fabricv4.models.route_table_entry_filter import RouteTableEntryFilter +from equinix.services.fabricv4.models.route_table_entry_filters import RouteTableEntryFilters +from equinix.services.fabricv4.models.route_table_entry_or_filter import RouteTableEntryOrFilter +from equinix.services.fabricv4.models.route_table_entry_protocol_type import RouteTableEntryProtocolType +from equinix.services.fabricv4.models.route_table_entry_search_request import RouteTableEntrySearchRequest +from equinix.services.fabricv4.models.route_table_entry_search_response import RouteTableEntrySearchResponse +from equinix.services.fabricv4.models.route_table_entry_simple_expression import RouteTableEntrySimpleExpression +from equinix.services.fabricv4.models.route_table_entry_sort_by import RouteTableEntrySortBy +from equinix.services.fabricv4.models.route_table_entry_sort_criteria import RouteTableEntrySortCriteria +from equinix.services.fabricv4.models.route_table_entry_sort_direction import RouteTableEntrySortDirection +from equinix.services.fabricv4.models.route_table_entry_state import RouteTableEntryState +from equinix.services.fabricv4.models.route_table_entry_type import RouteTableEntryType +from equinix.services.fabricv4.models.router_package_code import RouterPackageCode +from equinix.services.fabricv4.models.routing_protocol_bfd import RoutingProtocolBFD +from equinix.services.fabricv4.models.routing_protocol_bgp_data import RoutingProtocolBGPData +from equinix.services.fabricv4.models.routing_protocol_bgp_data_state import RoutingProtocolBGPDataState +from equinix.services.fabricv4.models.routing_protocol_bgp_type import RoutingProtocolBGPType +from equinix.services.fabricv4.models.routing_protocol_bgp_type_type import RoutingProtocolBGPTypeType +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from equinix.services.fabricv4.models.routing_protocol_change import RoutingProtocolChange +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData +from equinix.services.fabricv4.models.routing_protocol_change_data_response import RoutingProtocolChangeDataResponse +from equinix.services.fabricv4.models.routing_protocol_change_operation import RoutingProtocolChangeOperation +from equinix.services.fabricv4.models.routing_protocol_change_operation_op import RoutingProtocolChangeOperationOp +from equinix.services.fabricv4.models.routing_protocol_change_type import RoutingProtocolChangeType +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +from equinix.services.fabricv4.models.routing_protocol_direct_data import RoutingProtocolDirectData +from equinix.services.fabricv4.models.routing_protocol_direct_type import RoutingProtocolDirectType +from equinix.services.fabricv4.models.routing_protocol_direct_type_type import RoutingProtocolDirectTypeType +from equinix.services.fabricv4.models.routing_protocol_operation import RoutingProtocolOperation +from equinix.services.fabricv4.models.search_expression import SearchExpression +from equinix.services.fabricv4.models.search_field_name import SearchFieldName +from equinix.services.fabricv4.models.search_request import SearchRequest +from equinix.services.fabricv4.models.search_response import SearchResponse +from equinix.services.fabricv4.models.service_metro import ServiceMetro +from equinix.services.fabricv4.models.service_metros import ServiceMetros +from equinix.services.fabricv4.models.service_profile import ServiceProfile +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO +from equinix.services.fabricv4.models.service_profile_access_point_colo_type import ServiceProfileAccessPointCOLOType +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType +from equinix.services.fabricv4.models.service_profile_access_point_type_colo import ServiceProfileAccessPointTypeCOLO +from equinix.services.fabricv4.models.service_profile_access_point_type_enum import ServiceProfileAccessPointTypeEnum +from equinix.services.fabricv4.models.service_profile_access_point_type_vd import ServiceProfileAccessPointTypeVD +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD +from equinix.services.fabricv4.models.service_profile_access_point_vd_type import ServiceProfileAccessPointVDType +from equinix.services.fabricv4.models.service_profile_and_filter import ServiceProfileAndFilter +from equinix.services.fabricv4.models.service_profile_filter import ServiceProfileFilter +from equinix.services.fabricv4.models.service_profile_link_protocol_config import ServiceProfileLinkProtocolConfig +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation import ServiceProfileLinkProtocolConfigEncapsulation +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation_strategy import ServiceProfileLinkProtocolConfigEncapsulationStrategy +from equinix.services.fabricv4.models.service_profile_metadata import ServiceProfileMetadata +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest +from equinix.services.fabricv4.models.service_profile_search_request import ServiceProfileSearchRequest +from equinix.services.fabricv4.models.service_profile_simple_expression import ServiceProfileSimpleExpression +from equinix.services.fabricv4.models.service_profile_sort_by import ServiceProfileSortBy +from equinix.services.fabricv4.models.service_profile_sort_criteria import ServiceProfileSortCriteria +from equinix.services.fabricv4.models.service_profile_sort_direction import ServiceProfileSortDirection +from equinix.services.fabricv4.models.service_profile_state_enum import ServiceProfileStateEnum +from equinix.services.fabricv4.models.service_profile_type_enum import ServiceProfileTypeEnum +from equinix.services.fabricv4.models.service_profile_visibility_enum import ServiceProfileVisibilityEnum +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles +from equinix.services.fabricv4.models.service_token import ServiceToken +from equinix.services.fabricv4.models.service_token_action_request import ServiceTokenActionRequest +from equinix.services.fabricv4.models.service_token_actions import ServiceTokenActions +from equinix.services.fabricv4.models.service_token_change_operation import ServiceTokenChangeOperation +from equinix.services.fabricv4.models.service_token_connection import ServiceTokenConnection +from equinix.services.fabricv4.models.service_token_connection_type import ServiceTokenConnectionType +from equinix.services.fabricv4.models.service_token_search_expression import ServiceTokenSearchExpression +from equinix.services.fabricv4.models.service_token_search_expression_operator import ServiceTokenSearchExpressionOperator +from equinix.services.fabricv4.models.service_token_search_field_name import ServiceTokenSearchFieldName +from equinix.services.fabricv4.models.service_token_search_request import ServiceTokenSearchRequest +from equinix.services.fabricv4.models.service_token_side import ServiceTokenSide +from equinix.services.fabricv4.models.service_token_state import ServiceTokenState +from equinix.services.fabricv4.models.service_token_type import ServiceTokenType +from equinix.services.fabricv4.models.service_tokens import ServiceTokens +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_account_port_response import SimplifiedAccountPortResponse +from equinix.services.fabricv4.models.simplified_link_protocol import SimplifiedLinkProtocol +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from equinix.services.fabricv4.models.simplified_location_without_ibx import SimplifiedLocationWithoutIBX +from equinix.services.fabricv4.models.simplified_metadata_entity import SimplifiedMetadataEntity +from equinix.services.fabricv4.models.simplified_network import SimplifiedNetwork +from equinix.services.fabricv4.models.simplified_network_change import SimplifiedNetworkChange +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from equinix.services.fabricv4.models.simplified_notification_type import SimplifiedNotificationType +from equinix.services.fabricv4.models.simplified_port import SimplifiedPort +from equinix.services.fabricv4.models.simplified_service_profile import SimplifiedServiceProfile +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 +from equinix.services.fabricv4.models.sort_direction import SortDirection +from equinix.services.fabricv4.models.sort_item import SortItem +from equinix.services.fabricv4.models.sort_item_direction import SortItemDirection +from equinix.services.fabricv4.models.sort_item_property import SortItemProperty +from equinix.services.fabricv4.models.statistics import Statistics +from equinix.services.fabricv4.models.statistics_view_point import StatisticsViewPoint +from equinix.services.fabricv4.models.sub_interface import SubInterface +from equinix.services.fabricv4.models.top_utilized_statistics import TopUtilizedStatistics +from equinix.services.fabricv4.models.validate_request import ValidateRequest +from equinix.services.fabricv4.models.validate_request_filter import ValidateRequestFilter +from equinix.services.fabricv4.models.validate_request_filter_and import ValidateRequestFilterAnd +from equinix.services.fabricv4.models.validate_subnet_response import ValidateSubnetResponse +from equinix.services.fabricv4.models.view_point import ViewPoint +from equinix.services.fabricv4.models.virtual_connection_bridge_package_code import VirtualConnectionBridgePackageCode +from equinix.services.fabricv4.models.virtual_connection_price import VirtualConnectionPrice +from equinix.services.fabricv4.models.virtual_connection_price_a_side import VirtualConnectionPriceASide +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point import VirtualConnectionPriceASideAccessPoint +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port import VirtualConnectionPriceASideAccessPointPort +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings import VirtualConnectionPriceASideAccessPointPortSettings +from equinix.services.fabricv4.models.virtual_connection_price_access_point_type import VirtualConnectionPriceAccessPointType +from equinix.services.fabricv4.models.virtual_connection_price_connection_type import VirtualConnectionPriceConnectionType +from equinix.services.fabricv4.models.virtual_connection_price_z_side import VirtualConnectionPriceZSide +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point import VirtualConnectionPriceZSideAccessPoint +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge import VirtualConnectionPriceZSideAccessPointBridge +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package import VirtualConnectionPriceZSideAccessPointBridgePackage +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile import VirtualConnectionPriceZSideAccessPointProfile +from equinix.services.fabricv4.models.virtual_device import VirtualDevice +from equinix.services.fabricv4.models.virtual_device_type import VirtualDeviceType +from equinix.services.fabricv4.models.virtual_network import VirtualNetwork +from equinix.services.fabricv4.models.virtual_port_configuration import VirtualPortConfiguration +from equinix.services.fabricv4.models.virtual_port_location import VirtualPortLocation +from equinix.services.fabricv4.models.virtual_port_price import VirtualPortPrice +from equinix.services.fabricv4.models.virtual_port_redundancy import VirtualPortRedundancy +from equinix.services.fabricv4.models.virtual_port_service_type import VirtualPortServiceType +from equinix.services.fabricv4.models.virtual_port_type import VirtualPortType +from equinix.services.fabricv4.models.vpic_interface import VpicInterface diff --git a/equinix/services/fabricv4/models/access_point.py b/equinix/services/fabricv4/models/access_point.py new file mode 100644 index 00000000..59e893ec --- /dev/null +++ b/equinix/services/fabricv4/models/access_point.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.access_point_type import AccessPointType +from equinix.services.fabricv4.models.cloud_router import CloudRouter +from equinix.services.fabricv4.models.interface import Interface +from equinix.services.fabricv4.models.metal_interconnection import MetalInterconnection +from equinix.services.fabricv4.models.peering_type import PeeringType +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_link_protocol import SimplifiedLinkProtocol +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from equinix.services.fabricv4.models.simplified_network import SimplifiedNetwork +from equinix.services.fabricv4.models.simplified_port import SimplifiedPort +from equinix.services.fabricv4.models.simplified_service_profile import SimplifiedServiceProfile +from equinix.services.fabricv4.models.virtual_device import VirtualDevice +from equinix.services.fabricv4.models.virtual_network import VirtualNetwork +from equinix.services.fabricv4.models.vpic_interface import VpicInterface +from typing import Optional, Set +from typing_extensions import Self + +class AccessPoint(BaseModel): + """ + Access point object + """ # noqa: E501 + type: Optional[AccessPointType] = None + account: Optional[SimplifiedAccount] = None + location: Optional[SimplifiedLocation] = None + port: Optional[SimplifiedPort] = None + profile: Optional[SimplifiedServiceProfile] = None + router: Optional[CloudRouter] = None + link_protocol: Optional[SimplifiedLinkProtocol] = Field(default=None, alias="linkProtocol") + virtual_device: Optional[VirtualDevice] = Field(default=None, alias="virtualDevice") + interface: Optional[Interface] = None + network: Optional[SimplifiedNetwork] = None + seller_region: Optional[StrictStr] = Field(default=None, description="Access point seller region", alias="sellerRegion") + peering_type: Optional[PeeringType] = Field(default=None, alias="peeringType") + authentication_key: Optional[StrictStr] = Field(default=None, description="Access point authentication key", alias="authenticationKey") + provider_connection_id: Optional[StrictStr] = Field(default=None, description="Provider assigned Connection Id", alias="providerConnectionId") + virtual_network: Optional[VirtualNetwork] = Field(default=None, alias="virtualNetwork") + interconnection: Optional[MetalInterconnection] = None + vpic_interface: Optional[VpicInterface] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "account", "location", "port", "profile", "router", "linkProtocol", "virtualDevice", "interface", "network", "sellerRegion", "peeringType", "authenticationKey", "providerConnectionId", "virtualNetwork", "interconnection", "vpic_interface"] + + 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 AccessPoint 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, + ) + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of port + if self.port: + _dict['port'] = self.port.to_dict() + # override the default output from pydantic by calling `to_dict()` of profile + if self.profile: + _dict['profile'] = self.profile.to_dict() + # override the default output from pydantic by calling `to_dict()` of router + if self.router: + _dict['router'] = self.router.to_dict() + # override the default output from pydantic by calling `to_dict()` of link_protocol + if self.link_protocol: + _dict['linkProtocol'] = self.link_protocol.to_dict() + # override the default output from pydantic by calling `to_dict()` of virtual_device + if self.virtual_device: + _dict['virtualDevice'] = self.virtual_device.to_dict() + # override the default output from pydantic by calling `to_dict()` of interface + if self.interface: + _dict['interface'] = self.interface.to_dict() + # override the default output from pydantic by calling `to_dict()` of network + if self.network: + _dict['network'] = self.network.to_dict() + # override the default output from pydantic by calling `to_dict()` of virtual_network + if self.virtual_network: + _dict['virtualNetwork'] = self.virtual_network.to_dict() + # override the default output from pydantic by calling `to_dict()` of interconnection + if self.interconnection: + _dict['interconnection'] = self.interconnection.to_dict() + # override the default output from pydantic by calling `to_dict()` of vpic_interface + if self.vpic_interface: + _dict['vpic_interface'] = self.vpic_interface.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AccessPoint from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "port": SimplifiedPort.from_dict(obj["port"]) if obj.get("port") is not None else None, + "profile": SimplifiedServiceProfile.from_dict(obj["profile"]) if obj.get("profile") is not None else None, + "router": CloudRouter.from_dict(obj["router"]) if obj.get("router") is not None else None, + "linkProtocol": SimplifiedLinkProtocol.from_dict(obj["linkProtocol"]) if obj.get("linkProtocol") is not None else None, + "virtualDevice": VirtualDevice.from_dict(obj["virtualDevice"]) if obj.get("virtualDevice") is not None else None, + "interface": Interface.from_dict(obj["interface"]) if obj.get("interface") is not None else None, + "network": SimplifiedNetwork.from_dict(obj["network"]) if obj.get("network") is not None else None, + "sellerRegion": obj.get("sellerRegion"), + "peeringType": obj.get("peeringType"), + "authenticationKey": obj.get("authenticationKey"), + "providerConnectionId": obj.get("providerConnectionId"), + "virtualNetwork": VirtualNetwork.from_dict(obj["virtualNetwork"]) if obj.get("virtualNetwork") is not None else None, + "interconnection": MetalInterconnection.from_dict(obj["interconnection"]) if obj.get("interconnection") is not None else None, + "vpic_interface": VpicInterface.from_dict(obj["vpic_interface"]) if obj.get("vpic_interface") is not None else None + }) + # 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/access_point_selector.py b/equinix/services/fabricv4/models/access_point_selector.py new file mode 100644 index 00000000..519ffece --- /dev/null +++ b/equinix/services/fabricv4/models/access_point_selector.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.access_point_selector_type import AccessPointSelectorType +from equinix.services.fabricv4.models.link_protocol import LinkProtocol +from equinix.services.fabricv4.models.simplified_metadata_entity import SimplifiedMetadataEntity +from typing import Optional, Set +from typing_extensions import Self + +class AccessPointSelector(BaseModel): + """ + List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability. + """ # noqa: E501 + type: Optional[AccessPointSelectorType] = None + port: Optional[SimplifiedMetadataEntity] = None + link_protocol: Optional[LinkProtocol] = Field(default=None, alias="linkProtocol") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "port", "linkProtocol"] + + 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 AccessPointSelector 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, + ) + # override the default output from pydantic by calling `to_dict()` of port + if self.port: + _dict['port'] = self.port.to_dict() + # override the default output from pydantic by calling `to_dict()` of link_protocol + if self.link_protocol: + _dict['linkProtocol'] = self.link_protocol.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AccessPointSelector from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "port": SimplifiedMetadataEntity.from_dict(obj["port"]) if obj.get("port") is not None else None, + "linkProtocol": LinkProtocol.from_dict(obj["linkProtocol"]) if obj.get("linkProtocol") is not None else None + }) + # 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/access_point_selector_type.py b/equinix/services/fabricv4/models/access_point_selector_type.py new file mode 100644 index 00000000..353c9cc1 --- /dev/null +++ b/equinix/services/fabricv4/models/access_point_selector_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 AccessPointSelectorType(str, Enum): + """ + Type of Access point + """ + + """ + allowed enum values + """ + COLO = 'COLO' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of AccessPointSelectorType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/access_point_type.py b/equinix/services/fabricv4/models/access_point_type.py new file mode 100644 index 00000000..eb57a17c --- /dev/null +++ b/equinix/services/fabricv4/models/access_point_type.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 AccessPointType(str, Enum): + """ + Access point type + """ + + """ + allowed enum values + """ + VD = 'VD' + VG = 'VG' + SP = 'SP' + IGW = 'IGW' + COLO = 'COLO' + SUBNET = 'SUBNET' + CLOUD_ROUTER = 'CLOUD_ROUTER' + NETWORK = 'NETWORK' + METAL_NETWORK = 'METAL_NETWORK' + VPIC_INTERFACE = 'VPIC_INTERFACE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of AccessPointType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/account.py b/equinix/services/fabricv4/models/account.py new file mode 100644 index 00000000..99682c30 --- /dev/null +++ b/equinix/services/fabricv4/models/account.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Account(BaseModel): + """ + Account model, includes account number and flag to indicate if this account is reseller + """ # noqa: E501 + account_number: StrictInt = Field(alias="accountNumber") + is_reseller_account: Optional[StrictBool] = Field(default=None, alias="isResellerAccount") + org_id: Optional[StrictStr] = Field(default=None, alias="orgId") + global_org_id: Optional[StrictStr] = Field(default=None, alias="globalOrgId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["accountNumber", "isResellerAccount", "orgId", "globalOrgId"] + + 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 Account 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 Account from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountNumber": obj.get("accountNumber"), + "isResellerAccount": obj.get("isResellerAccount"), + "orgId": obj.get("orgId"), + "globalOrgId": obj.get("globalOrgId") + }) + # 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/actions.py b/equinix/services/fabricv4/models/actions.py new file mode 100644 index 00000000..50b70400 --- /dev/null +++ b/equinix/services/fabricv4/models/actions.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Actions(str, Enum): + """ + Connection action type + """ + + """ + allowed enum values + """ + CONNECTION_CREATION_ACCEPTANCE = 'CONNECTION_CREATION_ACCEPTANCE' + CONNECTION_CREATION_REJECTION = 'CONNECTION_CREATION_REJECTION' + CONNECTION_UPDATE_ACCEPTANCE = 'CONNECTION_UPDATE_ACCEPTANCE' + CONNECTION_UPDATE_REJECTION = 'CONNECTION_UPDATE_REJECTION' + CONNECTION_DELETION_ACCEPTANCE = 'CONNECTION_DELETION_ACCEPTANCE' + CONNECTION_REJECTION_ACCEPTANCE = 'CONNECTION_REJECTION_ACCEPTANCE' + CONNECTION_UPDATE_REQUEST = 'CONNECTION_UPDATE_REQUEST' + MIGRATION_EVPL_VC = 'MIGRATION_EVPL_VC' + CONNECTION_PROVIDER_STATUS_REQUEST = 'CONNECTION_PROVIDER_STATUS_REQUEST' + ACCEPT_HOSTED_CONNECTION = 'ACCEPT_HOSTED_CONNECTION' + CANCEL_EVPL_VC_DRAFT_ORDERS = 'CANCEL_EVPL_VC_DRAFT_ORDERS' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Actions from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/add_operation.py b/equinix/services/fabricv4/models/add_operation.py new file mode 100644 index 00000000..02a10e51 --- /dev/null +++ b/equinix/services/fabricv4/models/add_operation.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.op_enum import OpEnum +from typing import Optional, Set +from typing_extensions import Self + +class AddOperation(BaseModel): + """ + Add Sub-Resource to the existing model + """ # noqa: E501 + op: OpEnum + path: StrictStr = Field(description="A JSON Pointer path.") + value: Dict[str, Any] = Field(description="value to add") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 AddOperation 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 AddOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/advance_configuration.py b/equinix/services/fabricv4/models/advance_configuration.py new file mode 100644 index 00000000..59f469fc --- /dev/null +++ b/equinix/services/fabricv4/models/advance_configuration.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.md5 import Md5 +from equinix.services.fabricv4.models.ptp_advance_configuration import PtpAdvanceConfiguration +from typing import Optional, Set +from typing_extensions import Self + +class AdvanceConfiguration(BaseModel): + """ + Advance Configuration for NTP/PTP + """ # noqa: E501 + ntp: Optional[List[Md5]] = None + ptp: Optional[PtpAdvanceConfiguration] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["ntp", "ptp"] + + 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 AdvanceConfiguration 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in ntp (list) + _items = [] + if self.ntp: + for _item in self.ntp: + if _item: + _items.append(_item.to_dict()) + _dict['ntp'] = _items + # override the default output from pydantic by calling `to_dict()` of ptp + if self.ptp: + _dict['ptp'] = self.ptp.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AdvanceConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ntp": [Md5.from_dict(_item) for _item in obj["ntp"]] if obj.get("ntp") is not None else None, + "ptp": PtpAdvanceConfiguration.from_dict(obj["ptp"]) if obj.get("ptp") is not None else None + }) + # 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/all_physical_ports_response.py b/equinix/services/fabricv4/models/all_physical_ports_response.py new file mode 100644 index 00000000..cc1439b0 --- /dev/null +++ b/equinix/services/fabricv4/models/all_physical_ports_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from typing import Optional, Set +from typing_extensions import Self + +class AllPhysicalPortsResponse(BaseModel): + """ + GET All Physical Ports + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[PhysicalPort]] = Field(default=None, description="GET All Physical Ports") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 AllPhysicalPortsResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllPhysicalPortsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [PhysicalPort.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/all_ports_response.py b/equinix/services/fabricv4/models/all_ports_response.py new file mode 100644 index 00000000..5d3ea606 --- /dev/null +++ b/equinix/services/fabricv4/models/all_ports_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.port_response import PortResponse +from typing import Optional, Set +from typing_extensions import Self + +class AllPortsResponse(BaseModel): + """ + GET All User Port Across Fabric Metros + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[PortResponse]] = Field(default=None, description="GET All User Port Across Fabric Metros") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 AllPortsResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of AllPortsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [PortResponse.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/api_config.py b/equinix/services/fabricv4/models/api_config.py new file mode 100644 index 00000000..712988bb --- /dev/null +++ b/equinix/services/fabricv4/models/api_config.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class ApiConfig(BaseModel): + """ + Configuration for API based Integration for Service Profile + """ # noqa: E501 + api_available: Optional[StrictBool] = Field(default=False, description="Setting indicating whether the API is available (true) or not (false).", alias="apiAvailable") + integration_id: Optional[StrictStr] = Field(default=None, alias="integrationId") + equinix_managed_port: Optional[StrictBool] = Field(default=False, description="Setting indicating that the port is managed by Equinix (true) or not (false).", alias="equinixManagedPort") + equinix_managed_vlan: Optional[StrictBool] = Field(default=False, description="Setting indicating that the VLAN is managed by Equinix (true) or not (false).", alias="equinixManagedVlan") + allow_over_subscription: Optional[StrictBool] = Field(default=False, description="Setting showing that oversubscription support is available (true) or not (false). The default is false. Oversubscription is the sale of more than the available network bandwidth. This practice is common and legitimate. After all, many customers use less bandwidth than they've purchased. And network users don't consume bandwidth all at the same time. The leftover bandwidth can be sold to other customers. When demand surges, operational and engineering resources can be shifted to accommodate the load. ", alias="allowOverSubscription") + over_subscription_limit: Optional[Annotated[int, Field(le=20, strict=True, ge=1)]] = Field(default=1, description="A cap on oversubscription.", alias="overSubscriptionLimit") + bandwidth_from_api: Optional[StrictBool] = Field(default=False, alias="bandwidthFromApi") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["apiAvailable", "integrationId", "equinixManagedPort", "equinixManagedVlan", "allowOverSubscription", "overSubscriptionLimit", "bandwidthFromApi"] + + 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 ApiConfig 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 ApiConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "apiAvailable": obj.get("apiAvailable") if obj.get("apiAvailable") is not None else False, + "integrationId": obj.get("integrationId"), + "equinixManagedPort": obj.get("equinixManagedPort") if obj.get("equinixManagedPort") is not None else False, + "equinixManagedVlan": obj.get("equinixManagedVlan") if obj.get("equinixManagedVlan") is not None else False, + "allowOverSubscription": obj.get("allowOverSubscription") if obj.get("allowOverSubscription") is not None else False, + "overSubscriptionLimit": obj.get("overSubscriptionLimit") if obj.get("overSubscriptionLimit") is not None else 1, + "bandwidthFromApi": obj.get("bandwidthFromApi") if obj.get("bandwidthFromApi") is not None else False + }) + # 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/api_services.py b/equinix/services/fabricv4/models/api_services.py new file mode 100644 index 00000000..02333c50 --- /dev/null +++ b/equinix/services/fabricv4/models/api_services.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ApiServices(BaseModel): + """ + Available services details + """ # noqa: E501 + route: Optional[StrictStr] = Field(default=None, description="service routes") + status: Optional[StrictStr] = Field(default=None, description="service status") + changed_date_time: Optional[StrictStr] = Field(default=None, description="service status change date", alias="changedDateTime") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["route", "status", "changedDateTime"] + + 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 ApiServices 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 ApiServices from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "route": obj.get("route"), + "status": obj.get("status"), + "changedDateTime": obj.get("changedDateTime") + }) + # 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/authentication_key.py b/equinix/services/fabricv4/models/authentication_key.py new file mode 100644 index 00000000..76264564 --- /dev/null +++ b/equinix/services/fabricv4/models/authentication_key.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class AuthenticationKey(BaseModel): + """ + Authentication Key Support and Customization + """ # noqa: E501 + required: Optional[StrictBool] = False + label: Optional[StrictStr] = None + description: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["required", "label", "description"] + + 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 AuthenticationKey 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 AuthenticationKey from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "required": obj.get("required") if obj.get("required") is not None else False, + "label": obj.get("label"), + "description": obj.get("description") + }) + # 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/bandwidth_utilization.py b/equinix/services/fabricv4/models/bandwidth_utilization.py new file mode 100644 index 00000000..0416f20b --- /dev/null +++ b/equinix/services/fabricv4/models/bandwidth_utilization.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.bandwidth_utilization_unit import BandwidthUtilizationUnit +from equinix.services.fabricv4.models.direction import Direction +from typing import Optional, Set +from typing_extensions import Self + +class BandwidthUtilization(BaseModel): + """ + Bandwidth utilization statistics (octet counters-based) + """ # noqa: E501 + unit: Optional[BandwidthUtilizationUnit] = None + metric_interval: Optional[StrictStr] = Field(default=None, description="An interval formatted value, indicating the time-interval the metric objects within the response represent", alias="metricInterval") + inbound: Optional[Direction] = None + outbound: Optional[Direction] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["unit", "metricInterval", "inbound", "outbound"] + + 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 BandwidthUtilization 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, + ) + # override the default output from pydantic by calling `to_dict()` of inbound + if self.inbound: + _dict['inbound'] = self.inbound.to_dict() + # override the default output from pydantic by calling `to_dict()` of outbound + if self.outbound: + _dict['outbound'] = self.outbound.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BandwidthUtilization from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "unit": obj.get("unit"), + "metricInterval": obj.get("metricInterval"), + "inbound": Direction.from_dict(obj["inbound"]) if obj.get("inbound") is not None else None, + "outbound": Direction.from_dict(obj["outbound"]) if obj.get("outbound") is not None else None + }) + # 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/bandwidth_utilization_unit.py b/equinix/services/fabricv4/models/bandwidth_utilization_unit.py new file mode 100644 index 00000000..69f376ab --- /dev/null +++ b/equinix/services/fabricv4/models/bandwidth_utilization_unit.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 BandwidthUtilizationUnit(str, Enum): + """ + Aggregated data transfer capacity. Possible values- Mbps, megabits (1 million bits) per second; Gbps, gigabits (1 billion bits) per second. + """ + + """ + allowed enum values + """ + MBPS = 'Mbps' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of BandwidthUtilizationUnit from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/bgp_action_data.py b/equinix/services/fabricv4/models/bgp_action_data.py new file mode 100644 index 00000000..866bed0c --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_action_data.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.bgp_action_states import BGPActionStates +from equinix.services.fabricv4.models.bgp_actions import BGPActions +from equinix.services.fabricv4.models.changelog import Changelog +from typing import Optional, Set +from typing_extensions import Self + +class BGPActionData(BaseModel): + """ + BGPActionData + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Routing Protocol URI") + uuid: Optional[StrictStr] = Field(default=None, description="Routing protocol identifier") + type: Optional[BGPActions] = None + description: Optional[StrictStr] = Field(default=None, description="BGP action description") + state: Optional[BGPActionStates] = None + changelog: Optional[Changelog] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "description", "state", "changelog"] + + 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 BGPActionData 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, + ) + # override the default output from pydantic by calling `to_dict()` of changelog + if self.changelog: + _dict['changelog'] = self.changelog.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BGPActionData 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"), + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "description": obj.get("description"), + "state": obj.get("state"), + "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None + }) + # 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/bgp_action_request.py b/equinix/services/fabricv4/models/bgp_action_request.py new file mode 100644 index 00000000..9f9043a4 --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_action_request.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.bgp_actions import BGPActions +from typing import Optional, Set +from typing_extensions import Self + +class BGPActionRequest(BaseModel): + """ + BGP action request + """ # noqa: E501 + type: BGPActions + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type"] + + 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 BGPActionRequest 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 BGPActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") + }) + # 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/bgp_action_states.py b/equinix/services/fabricv4/models/bgp_action_states.py new file mode 100644 index 00000000..775d93ad --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_action_states.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 BGPActionStates(str, Enum): + """ + BGP action state + """ + + """ + allowed enum values + """ + PENDING = 'PENDING' + FAILED = 'FAILED' + SUCCEEDED = 'SUCCEEDED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of BGPActionStates from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/bgp_actions.py b/equinix/services/fabricv4/models/bgp_actions.py new file mode 100644 index 00000000..4d1d79af --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_actions.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 BGPActions(str, Enum): + """ + BGP action type + """ + + """ + allowed enum values + """ + CLEAR_BGPIPV4 = 'CLEAR_BGPIPV4' + CLEAR_BGPIPV6 = 'CLEAR_BGPIPV6' + CLEAR_BGPIPV4_INBOUND = 'CLEAR_BGPIPV4_INBOUND' + CLEAR_BGPIPV6_INBOUND = 'CLEAR_BGPIPV6_INBOUND' + RESET_BGPIPV4 = 'RESET_BGPIPV4' + RESET_BGPIPV6 = 'RESET_BGPIPV6' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of BGPActions from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/bgp_actions_bulk_data.py b/equinix/services/fabricv4/models/bgp_actions_bulk_data.py new file mode 100644 index 00000000..11fc6202 --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_actions_bulk_data.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.bgp_action_data import BGPActionData +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class BGPActionsBulkData(BaseModel): + """ + List of BGP Actions + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[BGPActionData]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 BGPActionsBulkData 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BGPActionsBulkData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [BGPActionData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/bgp_connection_ipv4.py b/equinix/services/fabricv4/models/bgp_connection_ipv4.py new file mode 100644 index 00000000..04900f3b --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_connection_ipv4.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.bgp_connection_operation import BGPConnectionOperation +from typing import Optional, Set +from typing_extensions import Self + +class BGPConnectionIpv4(BaseModel): + """ + BGPConnectionIpv4 + """ # noqa: E501 + customer_peer_ip: StrictStr = Field(description="Customer side peering ip", alias="customerPeerIp") + equinix_peer_ip: Optional[StrictStr] = Field(default=None, description="Equinix side peering ip", alias="equinixPeerIp") + enabled: StrictBool = Field(description="Admin status for the BGP session") + outbound_as_prepend_count: Optional[StrictInt] = Field(default=None, description="AS path prepend count", alias="outboundASPrependCount") + operation: Optional[BGPConnectionOperation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["customerPeerIp", "equinixPeerIp", "enabled", "outboundASPrependCount", "operation"] + + 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 BGPConnectionIpv4 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, + ) + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BGPConnectionIpv4 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customerPeerIp": obj.get("customerPeerIp"), + "equinixPeerIp": obj.get("equinixPeerIp"), + "enabled": obj.get("enabled"), + "outboundASPrependCount": obj.get("outboundASPrependCount"), + "operation": BGPConnectionOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None + }) + # 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/bgp_connection_ipv6.py b/equinix/services/fabricv4/models/bgp_connection_ipv6.py new file mode 100644 index 00000000..3ccb1f15 --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_connection_ipv6.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.bgp_connection_operation import BGPConnectionOperation +from typing import Optional, Set +from typing_extensions import Self + +class BGPConnectionIpv6(BaseModel): + """ + BGPConnectionIpv6 + """ # noqa: E501 + customer_peer_ip: StrictStr = Field(description="Customer side peering ip", alias="customerPeerIp") + equinix_peer_ip: Optional[StrictStr] = Field(default=None, description="Equinix side peering ip", alias="equinixPeerIp") + enabled: StrictBool = Field(description="Admin status for the BGP session") + outbound_as_prepend_count: Optional[StrictInt] = Field(default=None, description="AS path prepend count", alias="outboundASPrependCount") + operation: Optional[BGPConnectionOperation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["customerPeerIp", "equinixPeerIp", "enabled", "outboundASPrependCount", "operation"] + + 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 BGPConnectionIpv6 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, + ) + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BGPConnectionIpv6 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "customerPeerIp": obj.get("customerPeerIp"), + "equinixPeerIp": obj.get("equinixPeerIp"), + "enabled": obj.get("enabled"), + "outboundASPrependCount": obj.get("outboundASPrependCount"), + "operation": BGPConnectionOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None + }) + # 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/bgp_connection_operation.py b/equinix/services/fabricv4/models/bgp_connection_operation.py new file mode 100644 index 00000000..db020ccd --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_connection_operation.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.bgp_connection_operation_operational_status import BGPConnectionOperationOperationalStatus +from typing import Optional, Set +from typing_extensions import Self + +class BGPConnectionOperation(BaseModel): + """ + BGP IPv4 or IPv6 Connection State operational data + """ # noqa: E501 + operational_status: Optional[BGPConnectionOperationOperationalStatus] = Field(default=None, alias="operationalStatus") + op_status_changed_at: Optional[datetime] = Field(default=None, description="Last BGP State Update by Date and Time", alias="opStatusChangedAt") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["operationalStatus", "opStatusChangedAt"] + + 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 BGPConnectionOperation 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 BGPConnectionOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operationalStatus": obj.get("operationalStatus"), + "opStatusChangedAt": obj.get("opStatusChangedAt") + }) + # 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/bgp_connection_operation_operational_status.py b/equinix/services/fabricv4/models/bgp_connection_operation_operational_status.py new file mode 100644 index 00000000..af2ca1fc --- /dev/null +++ b/equinix/services/fabricv4/models/bgp_connection_operation_operational_status.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 BGPConnectionOperationOperationalStatus(str, Enum): + """ + BGP IPv4 or IPv6 Connection State operational status + """ + + """ + allowed enum values + """ + UP = 'UP' + DOWN = 'DOWN' + UNKNOWN = 'UNKNOWN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of BGPConnectionOperationOperationalStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/bulk_physical_port.py b/equinix/services/fabricv4/models/bulk_physical_port.py new file mode 100644 index 00000000..fc0e691a --- /dev/null +++ b/equinix/services/fabricv4/models/bulk_physical_port.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from typing import Optional, Set +from typing_extensions import Self + +class BulkPhysicalPort(BaseModel): + """ + Add to Lag request + """ # noqa: E501 + data: Optional[List[PhysicalPort]] = Field(default=None, description="add physical ports to virtual port") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data"] + + 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 BulkPhysicalPort 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkPhysicalPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [PhysicalPort.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/bulk_port.py b/equinix/services/fabricv4/models/bulk_port.py new file mode 100644 index 00000000..74ff255a --- /dev/null +++ b/equinix/services/fabricv4/models/bulk_port.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port import Port +from typing import Optional, Set +from typing_extensions import Self + +class BulkPort(BaseModel): + """ + Create bulk port request + """ # noqa: E501 + data: Optional[List[Port]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data"] + + 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 BulkPort 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of BulkPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [Port.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/change.py b/equinix/services/fabricv4/models/change.py new file mode 100644 index 00000000..e22f9f44 --- /dev/null +++ b/equinix/services/fabricv4/models/change.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 equinix.services.fabricv4.models.change_status import ChangeStatus +from equinix.services.fabricv4.models.change_type import ChangeType +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation +from typing import Optional, Set +from typing_extensions import Self + +class Change(BaseModel): + """ + Current state of latest connection change + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Uniquely identifies a change") + type: ChangeType + status: Optional[ChangeStatus] = None + created_date_time: datetime = Field(description="Set when change flow starts", alias="createdDateTime") + updated_date_time: Optional[datetime] = Field(default=None, description="Set when change object is updated", alias="updatedDateTime") + information: Optional[StrictStr] = Field(default=None, description="Additional information") + data: Optional[ConnectionChangeOperation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "status", "createdDateTime", "updatedDateTime", "information", "data"] + + 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 Change 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, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Change from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + 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"), + "information": obj.get("information"), + "data": ConnectionChangeOperation.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + # 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/change_status.py b/equinix/services/fabricv4/models/change_status.py new file mode 100644 index 00000000..82b1219c --- /dev/null +++ b/equinix/services/fabricv4/models/change_status.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ChangeStatus(str, Enum): + """ + Current outcome of the change flow + """ + + """ + allowed enum values + """ + APPROVED = 'APPROVED' + COMPLETED = 'COMPLETED' + FAILED = 'FAILED' + REJECTED = 'REJECTED' + REQUESTED = 'REQUESTED' + SUBMITTED_FOR_APPROVAL = 'SUBMITTED_FOR_APPROVAL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ChangeStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/change_type.py b/equinix/services/fabricv4/models/change_type.py new file mode 100644 index 00000000..b5e2e991 --- /dev/null +++ b/equinix/services/fabricv4/models/change_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ChangeType(str, Enum): + """ + Type of change + """ + + """ + allowed enum values + """ + CONNECTION_CREATION = 'CONNECTION_CREATION' + CONNECTION_UPDATE = 'CONNECTION_UPDATE' + CONNECTION_DELETION = 'CONNECTION_DELETION' + CONNECTION_PROVIDER_STATUS_REQUEST = 'CONNECTION_PROVIDER_STATUS_REQUEST' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ChangeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/changelog.py b/equinix/services/fabricv4/models/changelog.py new file mode 100644 index 00000000..7086f617 --- /dev/null +++ b/equinix/services/fabricv4/models/changelog.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Changelog(BaseModel): + """ + Change log + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="Created by User Key", alias="createdBy") + created_by_full_name: Optional[StrictStr] = Field(default=None, description="Created by User Full Name", alias="createdByFullName") + created_by_email: Optional[StrictStr] = Field(default=None, description="Created by User Email Address", alias="createdByEmail") + 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_by_full_name: Optional[StrictStr] = Field(default=None, description="Updated by User Full Name", alias="updatedByFullName") + updated_by_email: Optional[StrictStr] = Field(default=None, description="Updated by User Email Address", alias="updatedByEmail") + 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_by_full_name: Optional[StrictStr] = Field(default=None, description="Deleted by User Full Name", alias="deletedByFullName") + deleted_by_email: Optional[StrictStr] = Field(default=None, description="Deleted by User Email Address", alias="deletedByEmail") + 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", "createdByFullName", "createdByEmail", "createdDateTime", "updatedBy", "updatedByFullName", "updatedByEmail", "updatedDateTime", "deletedBy", "deletedByFullName", "deletedByEmail", "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 Changelog 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 Changelog 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"), + "createdByFullName": obj.get("createdByFullName"), + "createdByEmail": obj.get("createdByEmail"), + "createdDateTime": obj.get("createdDateTime"), + "updatedBy": obj.get("updatedBy"), + "updatedByFullName": obj.get("updatedByFullName"), + "updatedByEmail": obj.get("updatedByEmail"), + "updatedDateTime": obj.get("updatedDateTime"), + "deletedBy": obj.get("deletedBy"), + "deletedByFullName": obj.get("deletedByFullName"), + "deletedByEmail": obj.get("deletedByEmail"), + "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/cloud_router.py b/equinix/services/fabricv4/models/cloud_router.py new file mode 100644 index 00000000..b350104a --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router.py @@ -0,0 +1,161 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.cloud_router_access_point_state import CloudRouterAccessPointState +from equinix.services.fabricv4.models.cloud_router_change import CloudRouterChange +from equinix.services.fabricv4.models.cloud_router_post_request_package import CloudRouterPostRequestPackage +from equinix.services.fabricv4.models.cloud_router_post_request_type import CloudRouterPostRequestType +from equinix.services.fabricv4.models.order import Order +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_location_without_ibx import SimplifiedLocationWithoutIBX +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouter(BaseModel): + """ + Fabric Cloud Router object + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Cloud Routers URI") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned access point identifier") + name: Optional[StrictStr] = Field(default=None, description="Customer-provided Cloud Router name") + state: Optional[CloudRouterAccessPointState] = None + equinix_asn: Optional[StrictInt] = Field(default=None, description="Equinix ASN", alias="equinixAsn") + bgp_ipv4_routes_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Access point used and maximum number of IPv4 BGP routes", alias="bgpIpv4RoutesCount") + bgp_ipv6_routes_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Access point used and maximum number of IPv6 BGP routes", alias="bgpIpv6RoutesCount") + connections_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Number of connections associated with this Access point", alias="connectionsCount") + distinct_ipv4_prefixes_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Number of distinct ipv4 routes", alias="distinctIpv4PrefixesCount") + distinct_ipv6_prefixes_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Number of distinct ipv6 routes", alias="distinctIpv6PrefixesCount") + change_log: Optional[Changelog] = Field(default=None, alias="changeLog") + change: Optional[CloudRouterChange] = None + type: Optional[CloudRouterPostRequestType] = None + location: Optional[SimplifiedLocationWithoutIBX] = None + package: Optional[CloudRouterPostRequestPackage] = None + order: Optional[Order] = None + project: Optional[Project] = None + account: Optional[SimplifiedAccount] = None + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Preferences for notifications on connection configuration or status changes") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "location", "package", "order", "project", "account", "notifications"] + + 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 CloudRouter 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of package + if self.package: + _dict['package'] = self.package.to_dict() + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "location": SimplifiedLocationWithoutIBX.from_dict(obj["location"]) if obj.get("location") is not None else None, + "package": CloudRouterPostRequestPackage.from_dict(obj["package"]) if obj.get("package") is not None else None, + "order": Order.from_dict(obj["order"]) if obj.get("order") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None + }) + # 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/cloud_router_access_point_state.py b/equinix/services/fabricv4/models/cloud_router_access_point_state.py new file mode 100644 index 00000000..496a7793 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_access_point_state.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterAccessPointState(str, Enum): + """ + Access point lifecycle state + """ + + """ + allowed enum values + """ + PROVISIONED = 'PROVISIONED' + PROVISIONING = 'PROVISIONING' + DEPROVISIONING = 'DEPROVISIONING' + DEPROVISIONED = 'DEPROVISIONED' + LOCKED = 'LOCKED' + NOT_PROVISIONED = 'NOT_PROVISIONED' + NOT_DEPROVISIONED = 'NOT_DEPROVISIONED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterAccessPointState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_action_request.py b/equinix/services/fabricv4/models/cloud_router_action_request.py new file mode 100644 index 00000000..dc41532c --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_action_request.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.cloud_router_action_type import CloudRouterActionType +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterActionRequest(BaseModel): + """ + Cloud Router action request + """ # noqa: E501 + type: CloudRouterActionType + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type"] + + 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 CloudRouterActionRequest 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 CloudRouterActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") + }) + # 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/cloud_router_action_response.py b/equinix/services/fabricv4/models/cloud_router_action_response.py new file mode 100644 index 00000000..a2187955 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_action_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.changelog import Changelog +from equinix.services.fabricv4.models.cloud_router_action_state import CloudRouterActionState +from equinix.services.fabricv4.models.cloud_router_action_type import CloudRouterActionType +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterActionResponse(BaseModel): + """ + Cloud Router actions response object + """ # noqa: E501 + type: CloudRouterActionType + uuid: StrictStr + description: Optional[StrictStr] = None + state: CloudRouterActionState + change_log: Changelog = Field(alias="changeLog") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "uuid", "description", "state", "changeLog"] + + 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 CloudRouterActionResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of change_log + if self.change_log: + _dict['changeLog'] = self.change_log.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterActionResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "description": obj.get("description"), + "state": obj.get("state"), + "changeLog": Changelog.from_dict(obj["changeLog"]) if obj.get("changeLog") is not None else None + }) + # 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/cloud_router_action_state.py b/equinix/services/fabricv4/models/cloud_router_action_state.py new file mode 100644 index 00000000..4582d840 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_action_state.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterActionState(str, Enum): + """ + Cloud Router action state + """ + + """ + allowed enum values + """ + DONE = 'DONE' + FAILED = 'FAILED' + PENDING = 'PENDING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterActionState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_action_type.py b/equinix/services/fabricv4/models/cloud_router_action_type.py new file mode 100644 index 00000000..67304781 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_action_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterActionType(str, Enum): + """ + Cloud Router action type + """ + + """ + allowed enum values + """ + BGP_SESSION_STATUS_UPDATE = 'BGP_SESSION_STATUS_UPDATE' + ROUTE_TABLE_ENTRY_UPDATE = 'ROUTE_TABLE_ENTRY_UPDATE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterActionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_change.py b/equinix/services/fabricv4/models/cloud_router_change.py new file mode 100644 index 00000000..782d8e0c --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_change.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation +from equinix.services.fabricv4.models.cloud_router_change_status import CloudRouterChangeStatus +from equinix.services.fabricv4.models.cloud_router_change_type import CloudRouterChangeType +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterChange(BaseModel): + """ + Current state of latest CloudRouter change + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Uniquely identifies a change") + type: CloudRouterChangeType + status: Optional[CloudRouterChangeStatus] = None + created_date_time: Optional[datetime] = Field(default=None, description="Set when change flow starts", alias="createdDateTime") + updated_date_time: datetime = Field(description="Set when change object is updated", alias="updatedDateTime") + information: Optional[StrictStr] = Field(default=None, description="Additional information") + data: Optional[CloudRouterChangeOperation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "status", "createdDateTime", "updatedDateTime", "information", "data"] + + 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 CloudRouterChange 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, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterChange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + 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"), + "information": obj.get("information"), + "data": CloudRouterChangeOperation.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + # 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/cloud_router_change_operation.py b/equinix/services/fabricv4/models/cloud_router_change_operation.py new file mode 100644 index 00000000..79d411e0 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_change_operation.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.precision_time_change_operation_op import PrecisionTimeChangeOperationOp +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterChangeOperation(BaseModel): + """ + Fabric Cloud Router change operation data + """ # noqa: E501 + op: PrecisionTimeChangeOperationOp + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: Optional[Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 CloudRouterChangeOperation 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 + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/cloud_router_change_status.py b/equinix/services/fabricv4/models/cloud_router_change_status.py new file mode 100644 index 00000000..20e901c4 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_change_status.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterChangeStatus(str, Enum): + """ + Current outcome of the change flow + """ + + """ + allowed enum values + """ + COMPLETED = 'COMPLETED' + FAILED = 'FAILED' + REQUESTED = 'REQUESTED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterChangeStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_change_type.py b/equinix/services/fabricv4/models/cloud_router_change_type.py new file mode 100644 index 00000000..5e492278 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_change_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterChangeType(str, Enum): + """ + Type of change + """ + + """ + allowed enum values + """ + ROUTER_UPDATE = 'ROUTER_UPDATE' + ROUTER_PACKAGE_UPDATE = 'ROUTER_PACKAGE_UPDATE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterChangeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_filter.py b/equinix/services/fabricv4/models/cloud_router_filter.py new file mode 100644 index 00000000..640b6637 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_filter.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Optional +from equinix.services.fabricv4.models.cloud_router_or_filter import CloudRouterOrFilter +from equinix.services.fabricv4.models.cloud_router_simple_expression import CloudRouterSimpleExpression +from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +CLOUDROUTERFILTER_ANY_OF_SCHEMAS = ["CloudRouterOrFilter", "CloudRouterSimpleExpression"] + +class CloudRouterFilter(BaseModel): + """ + CloudRouterFilter + """ + + # data type: CloudRouterSimpleExpression + anyof_schema_1_validator: Optional[CloudRouterSimpleExpression] = None + # data type: CloudRouterOrFilter + anyof_schema_2_validator: Optional[CloudRouterOrFilter] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[CloudRouterOrFilter, CloudRouterSimpleExpression]] = None + else: + actual_instance: Any = None + any_of_schemas: List[str] = Field(default=Literal["CloudRouterOrFilter", "CloudRouterSimpleExpression"]) + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = CloudRouterFilter.model_construct() + error_messages = [] + # validate data type: CloudRouterSimpleExpression + if not isinstance(v, CloudRouterSimpleExpression): + error_messages.append(f"Error! Input type `{type(v)}` is not `CloudRouterSimpleExpression`") + else: + return v + + # validate data type: CloudRouterOrFilter + if not isinstance(v, CloudRouterOrFilter): + error_messages.append(f"Error! Input type `{type(v)}` is not `CloudRouterOrFilter`") + else: + return v + + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in CloudRouterFilter with anyOf schemas: CloudRouterOrFilter, CloudRouterSimpleExpression. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # anyof_schema_1_validator: Optional[CloudRouterSimpleExpression] = None + try: + instance.actual_instance = CloudRouterSimpleExpression.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_2_validator: Optional[CloudRouterOrFilter] = None + try: + instance.actual_instance = CloudRouterOrFilter.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into CloudRouterFilter with anyOf schemas: CloudRouterOrFilter, CloudRouterSimpleExpression. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], CloudRouterOrFilter, CloudRouterSimpleExpression]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/cloud_router_filters.py b/equinix/services/fabricv4/models/cloud_router_filters.py new file mode 100644 index 00000000..db5605b9 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_filters.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.cloud_router_filter import CloudRouterFilter +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterFilters(BaseModel): + """ + CloudRouterFilters + """ # noqa: E501 + var_and: Optional[Annotated[List[CloudRouterFilter], Field(max_length=8)]] = Field(default=None, alias="and") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and"] + + 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 CloudRouterFilters 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterFilters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [CloudRouterFilter.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None + }) + # 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/cloud_router_or_filter.py b/equinix/services/fabricv4/models/cloud_router_or_filter.py new file mode 100644 index 00000000..a32a81d8 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_or_filter.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.cloud_router_simple_expression import CloudRouterSimpleExpression +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterOrFilter(BaseModel): + """ + CloudRouterOrFilter + """ # noqa: E501 + var_or: Optional[Annotated[List[CloudRouterSimpleExpression], Field(max_length=3)]] = Field(default=None, alias="or") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["or"] + + 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 CloudRouterOrFilter 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_or (list) + _items = [] + if self.var_or: + for _item in self.var_or: + if _item: + _items.append(_item.to_dict()) + _dict['or'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterOrFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "or": [CloudRouterSimpleExpression.from_dict(_item) for _item in obj["or"]] if obj.get("or") is not None else None + }) + # 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/cloud_router_package.py b/equinix/services/fabricv4/models/cloud_router_package.py new file mode 100644 index 00000000..8c0c8452 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_package.py @@ -0,0 +1,143 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.cloud_router_package_nat_type import CloudRouterPackageNatType +from equinix.services.fabricv4.models.cloud_router_package_type import CloudRouterPackageType +from equinix.services.fabricv4.models.code import Code +from equinix.services.fabricv4.models.package_change_log import PackageChangeLog +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterPackage(BaseModel): + """ + Fabric Cloud Router Package + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Cloud Router package URI") + type: Optional[CloudRouterPackageType] = None + code: Optional[Code] = None + description: Optional[StrictStr] = Field(default=None, description="Fabric Cloud Router Package description") + total_ipv4_routes_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Cloud Router package BGP IPv4 routes limit", alias="totalIPv4RoutesMax") + total_ipv6_routes_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Cloud Router package BGP IPv6 routes limit", alias="totalIPv6RoutesMax") + static_ipv4_routes_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package static IPv4 routes limit", alias="staticIPv4RoutesMax") + static_ipv6_routes_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package static IPv6 routes limit", alias="staticIPv6RoutesMax") + nacls_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package NACLs limit", alias="naclsMax") + nacl_rules_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package NACLs rules limit", alias="naclRulesMax") + ha_supported: Optional[StrictBool] = Field(default=None, description="CloudRouter package high-available configuration support", alias="haSupported") + route_filter_supported: Optional[StrictBool] = Field(default=None, description="CloudRouter package route filter support", alias="routeFilterSupported") + nat_type: Optional[CloudRouterPackageNatType] = Field(default=None, alias="natType") + vc_count_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package Max Connection limit", alias="vcCountMax") + cr_count_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package Max CloudRouter limit", alias="crCountMax") + vc_bandwidth_max: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="CloudRouter package Max Bandwidth limit", alias="vcBandwidthMax") + change_log: Optional[PackageChangeLog] = Field(default=None, alias="changeLog") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "code", "description", "totalIPv4RoutesMax", "totalIPv6RoutesMax", "staticIPv4RoutesMax", "staticIPv6RoutesMax", "naclsMax", "naclRulesMax", "haSupported", "routeFilterSupported", "natType", "vcCountMax", "crCountMax", "vcBandwidthMax", "changeLog"] + + 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 CloudRouterPackage 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of change_log + if self.change_log: + _dict['changeLog'] = self.change_log.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterPackage 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"), + "type": obj.get("type"), + "code": obj.get("code"), + "description": obj.get("description"), + "totalIPv4RoutesMax": obj.get("totalIPv4RoutesMax"), + "totalIPv6RoutesMax": obj.get("totalIPv6RoutesMax"), + "staticIPv4RoutesMax": obj.get("staticIPv4RoutesMax"), + "staticIPv6RoutesMax": obj.get("staticIPv6RoutesMax"), + "naclsMax": obj.get("naclsMax"), + "naclRulesMax": obj.get("naclRulesMax"), + "haSupported": obj.get("haSupported"), + "routeFilterSupported": obj.get("routeFilterSupported"), + "natType": obj.get("natType"), + "vcCountMax": obj.get("vcCountMax"), + "crCountMax": obj.get("crCountMax"), + "vcBandwidthMax": obj.get("vcBandwidthMax"), + "changeLog": PackageChangeLog.from_dict(obj["changeLog"]) if obj.get("changeLog") is not None else None + }) + # 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/cloud_router_package_nat_type.py b/equinix/services/fabricv4/models/cloud_router_package_nat_type.py new file mode 100644 index 00000000..edca8b29 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_package_nat_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterPackageNatType(str, Enum): + """ + CloudRouter package NAT supported type + """ + + """ + allowed enum values + """ + STATIC_NAT = 'STATIC_NAT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterPackageNatType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_package_type.py b/equinix/services/fabricv4/models/cloud_router_package_type.py new file mode 100644 index 00000000..40385705 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_package_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterPackageType(str, Enum): + """ + Type of Router package + """ + + """ + allowed enum values + """ + ROUTER_PACKAGE = 'ROUTER_PACKAGE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterPackageType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_post_request.py b/equinix/services/fabricv4/models/cloud_router_post_request.py new file mode 100644 index 00000000..ecccd595 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_post_request.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.cloud_router_post_request_package import CloudRouterPostRequestPackage +from equinix.services.fabricv4.models.cloud_router_post_request_type import CloudRouterPostRequestType +from equinix.services.fabricv4.models.order import Order +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_location_without_ibx import SimplifiedLocationWithoutIBX +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterPostRequest(BaseModel): + """ + Create Cloud Router + """ # noqa: E501 + type: Optional[CloudRouterPostRequestType] = None + name: Optional[StrictStr] = Field(default=None, description="Customer-provided Cloud Router name") + location: Optional[SimplifiedLocationWithoutIBX] = None + package: Optional[CloudRouterPostRequestPackage] = None + order: Optional[Order] = None + project: Optional[Project] = None + account: Optional[SimplifiedAccount] = None + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Preferences for notifications on connection configuration or status changes") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "location", "package", "order", "project", "account", "notifications"] + + 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 CloudRouterPostRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of package + if self.package: + _dict['package'] = self.package.to_dict() + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "location": SimplifiedLocationWithoutIBX.from_dict(obj["location"]) if obj.get("location") is not None else None, + "package": CloudRouterPostRequestPackage.from_dict(obj["package"]) if obj.get("package") is not None else None, + "order": Order.from_dict(obj["order"]) if obj.get("order") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None + }) + # 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/cloud_router_post_request_package.py b/equinix/services/fabricv4/models/cloud_router_post_request_package.py new file mode 100644 index 00000000..6fff81a5 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_post_request_package.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.cloud_router_post_request_package_code import CloudRouterPostRequestPackageCode +from equinix.services.fabricv4.models.cloud_router_post_request_package_type import CloudRouterPostRequestPackageType +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterPostRequestPackage(BaseModel): + """ + Fabric Cloud Router Package Type + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Fabric Cloud Router URI") + type: Optional[CloudRouterPostRequestPackageType] = None + code: CloudRouterPostRequestPackageCode + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "code"] + + 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 CloudRouterPostRequestPackage 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 CloudRouterPostRequestPackage 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"), + "type": obj.get("type"), + "code": obj.get("code") + }) + # 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/cloud_router_post_request_package_code.py b/equinix/services/fabricv4/models/cloud_router_post_request_package_code.py new file mode 100644 index 00000000..2ec7a001 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_post_request_package_code.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterPostRequestPackageCode(str, Enum): + """ + Cloud Router package code + """ + + """ + allowed enum values + """ + LAB = 'LAB' + ADVANCED = 'ADVANCED' + STANDARD = 'STANDARD' + PREMIUM = 'PREMIUM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterPostRequestPackageCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_post_request_package_type.py b/equinix/services/fabricv4/models/cloud_router_post_request_package_type.py new file mode 100644 index 00000000..fbb0303f --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_post_request_package_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterPostRequestPackageType(str, Enum): + """ + Cloud Router package type + """ + + """ + allowed enum values + """ + ROUTER_PACKAGE = 'ROUTER_PACKAGE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterPostRequestPackageType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_post_request_type.py b/equinix/services/fabricv4/models/cloud_router_post_request_type.py new file mode 100644 index 00000000..5d51be34 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_post_request_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterPostRequestType(str, Enum): + """ + CloudRouterPostRequestType + """ + + """ + allowed enum values + """ + XF_ROUTER = 'XF_ROUTER' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterPostRequestType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_search_request.py b/equinix/services/fabricv4/models/cloud_router_search_request.py new file mode 100644 index 00000000..be59c59a --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_search_request.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.cloud_router_filters import CloudRouterFilters +from equinix.services.fabricv4.models.cloud_router_sort_criteria import CloudRouterSortCriteria +from equinix.services.fabricv4.models.pagination_request import PaginationRequest +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterSearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[CloudRouterFilters] = None + pagination: Optional[PaginationRequest] = None + sort: Optional[List[CloudRouterSortCriteria]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 CloudRouterSearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CloudRouterSearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": CloudRouterFilters.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [CloudRouterSortCriteria.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/cloud_router_simple_expression.py b/equinix/services/fabricv4/models/cloud_router_simple_expression.py new file mode 100644 index 00000000..cc2cc5cf --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_simple_expression.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterSimpleExpression(BaseModel): + """ + CloudRouterSimpleExpression + """ # noqa: E501 + var_property: Optional[StrictStr] = Field(default=None, description="Possible field names to use on filters: * `/project/projectId` - project id (mandatory) * `/name` - Fabric Cloud Router name * `/uuid` - Fabric Cloud Router uuid * `/state` - Fabric Cloud Router status * `/location/metroCode` - Fabric Cloud Router metro code * `/location/metroName` - Fabric Cloud Router metro name * `/package/code` - Fabric Cloud Router package * `/*` - all-category search ", alias="property") + operator: Optional[StrictStr] = Field(default=None, description="Possible operators to use on filters: * `=` - equal * `!=` - not equal * `>` - greater than * `>=` - greater than or equal to * `<` - less than * `<=` - less than or equal to * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `ILIKE` - case-insensitive like ") + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "operator", "values"] + + 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 CloudRouterSimpleExpression 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 CloudRouterSimpleExpression 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"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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/cloud_router_sort_by.py b/equinix/services/fabricv4/models/cloud_router_sort_by.py new file mode 100644 index 00000000..6253607a --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_sort_by.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterSortBy(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_NAME = '/name' + SLASH_UUID = '/uuid' + SLASH_STATE = '/state' + SLASH_LOCATION_SLASH_METRO_CODE = '/location/metroCode' + SLASH_LOCATION_SLASH_METRO_NAME = '/location/metroName' + SLASH_PACKAGE_SLASH_CODE = '/package/code' + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterSortBy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/cloud_router_sort_criteria.py b/equinix/services/fabricv4/models/cloud_router_sort_criteria.py new file mode 100644 index 00000000..ecdb0b38 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_sort_criteria.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.cloud_router_sort_by import CloudRouterSortBy +from equinix.services.fabricv4.models.cloud_router_sort_direction import CloudRouterSortDirection +from typing import Optional, Set +from typing_extensions import Self + +class CloudRouterSortCriteria(BaseModel): + """ + CloudRouterSortCriteria + """ # noqa: E501 + direction: Optional[CloudRouterSortDirection] = None + var_property: Optional[CloudRouterSortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 CloudRouterSortCriteria 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 CloudRouterSortCriteria from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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/cloud_router_sort_direction.py b/equinix/services/fabricv4/models/cloud_router_sort_direction.py new file mode 100644 index 00000000..56aa3004 --- /dev/null +++ b/equinix/services/fabricv4/models/cloud_router_sort_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CloudRouterSortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CloudRouterSortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/code.py b/equinix/services/fabricv4/models/code.py new file mode 100644 index 00000000..946e03f2 --- /dev/null +++ b/equinix/services/fabricv4/models/code.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Code(str, Enum): + """ + Cloud Router package code + """ + + """ + allowed enum values + """ + LAB = 'LAB' + ADVANCED = 'ADVANCED' + STANDARD = 'STANDARD' + PREMIUM = 'PREMIUM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Code from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connected_metro.py b/equinix/services/fabricv4/models/connected_metro.py new file mode 100644 index 00000000..f36056ad --- /dev/null +++ b/equinix/services/fabricv4/models/connected_metro.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class ConnectedMetro(BaseModel): + """ + Arrays of objects containing latency data for the specified metros + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="The Canonical URL at which the resource resides.") + code: Optional[StrictStr] = Field(default=None, description="Code assigned to an Equinix International Business Exchange (IBX) data center in a specified metropolitan area.") + avg_latency: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Average latency (in milliseconds[ms]) between two specified metros.", alias="avgLatency") + remote_vc_bandwidth_max: Optional[StrictInt] = Field(default=None, description="This field holds the Max Connection speed with connected metros", alias="remoteVCBandwidthMax") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "code", "avgLatency", "remoteVCBandwidthMax"] + + 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 ConnectedMetro 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 ConnectedMetro 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"), + "code": obj.get("code"), + "avgLatency": obj.get("avgLatency"), + "remoteVCBandwidthMax": obj.get("remoteVCBandwidthMax") + }) + # 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/connection.py b/equinix/services/fabricv4/models/connection.py new file mode 100644 index 00000000..40134785 --- /dev/null +++ b/equinix/services/fabricv4/models/connection.py @@ -0,0 +1,199 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.change import Change +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.connection_direction import ConnectionDirection +from equinix.services.fabricv4.models.connection_operation import ConnectionOperation +from equinix.services.fabricv4.models.connection_redundancy import ConnectionRedundancy +from equinix.services.fabricv4.models.connection_side import ConnectionSide +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from equinix.services.fabricv4.models.connection_state import ConnectionState +from equinix.services.fabricv4.models.connection_type import ConnectionType +from equinix.services.fabricv4.models.geo_scope_type import GeoScopeType +from equinix.services.fabricv4.models.order import Order +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class Connection(BaseModel): + """ + Connection specification + """ # noqa: E501 + type: ConnectionType + href: Optional[StrictStr] = Field(default=None, description="Connection URI") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned connection identifier") + name: StrictStr = Field(description="Customer-provided connection name") + description: Optional[StrictStr] = Field(default=None, description="Customer-provided connection description") + state: Optional[ConnectionState] = None + change: Optional[Change] = None + operation: Optional[ConnectionOperation] = None + order: Optional[Order] = None + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Preferences for notifications on connection configuration or status changes") + account: Optional[SimplifiedAccount] = None + change_log: Optional[Changelog] = Field(default=None, alias="changeLog") + bandwidth: Annotated[int, Field(le=10000, strict=True, ge=0)] = Field(description="Connection bandwidth in Mbps") + geo_scope: Optional[GeoScopeType] = Field(default=None, alias="geoScope") + redundancy: Optional[ConnectionRedundancy] = None + is_remote: Optional[StrictBool] = Field(default=None, description="Connection property derived from access point locations", alias="isRemote") + direction: Optional[ConnectionDirection] = None + a_side: ConnectionSide = Field(alias="aSide") + z_side: ConnectionSide = Field(alias="zSide") + additional_info: Optional[List[ConnectionSideAdditionalInfo]] = Field(default=None, description="Connection additional information", alias="additionalInfo") + project: Optional[Project] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "href", "uuid", "name", "description", "state", "change", "operation", "order", "notifications", "account", "changeLog", "bandwidth", "geoScope", "redundancy", "isRemote", "direction", "aSide", "zSide", "additionalInfo", "project"] + + 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 Connection 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # 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 operation + if self.operation: + _dict['operation'] = self.operation.to_dict() + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.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() + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.to_dict() + # override the default output from pydantic by calling `to_dict()` of a_side + if self.a_side: + _dict['aSide'] = self.a_side.to_dict() + # override the default output from pydantic by calling `to_dict()` of z_side + if self.z_side: + _dict['zSide'] = self.z_side.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Connection from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "state": obj.get("state"), + "change": Change.from_dict(obj["change"]) if obj.get("change") is not None else None, + "operation": ConnectionOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "order": Order.from_dict(obj["order"]) if obj.get("order") is not None else None, + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "changeLog": Changelog.from_dict(obj["changeLog"]) if obj.get("changeLog") is not None else None, + "bandwidth": obj.get("bandwidth"), + "geoScope": obj.get("geoScope"), + "redundancy": ConnectionRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None, + "isRemote": obj.get("isRemote"), + "direction": obj.get("direction"), + "aSide": ConnectionSide.from_dict(obj["aSide"]) if obj.get("aSide") is not None else None, + "zSide": ConnectionSide.from_dict(obj["zSide"]) if obj.get("zSide") is not None else None, + "additionalInfo": [ConnectionSideAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + # 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/connection_acceptance_data.py b/equinix/services/fabricv4/models/connection_acceptance_data.py new file mode 100644 index 00000000..4944f364 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_acceptance_data.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection_side import ConnectionSide +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionAcceptanceData(BaseModel): + """ + Connection acceptance data + """ # noqa: E501 + z_side: Optional[ConnectionSide] = Field(default=None, alias="zSide") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["zSide"] + + 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 ConnectionAcceptanceData 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, + ) + # override the default output from pydantic by calling `to_dict()` of z_side + if self.z_side: + _dict['zSide'] = self.z_side.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionAcceptanceData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "zSide": ConnectionSide.from_dict(obj["zSide"]) if obj.get("zSide") is not None else None + }) + # 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/connection_action.py b/equinix/services/fabricv4/models/connection_action.py new file mode 100644 index 00000000..401b4d1a --- /dev/null +++ b/equinix/services/fabricv4/models/connection_action.py @@ -0,0 +1,122 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.actions import Actions +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.connection_acceptance_data import ConnectionAcceptanceData +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionAction(BaseModel): + """ + Connection action + """ # noqa: E501 + type: Actions + href: StrictStr = Field(description="Connection action URI") + uuid: StrictStr = Field(description="Equinix-assigned connection identifier") + description: Optional[StrictStr] = Field(default=None, description="Connection rejection reason detail") + data: ConnectionAcceptanceData + change_log: Optional[Changelog] = Field(default=None, alias="changeLog") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "href", "uuid", "description", "data", "changeLog"] + + 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 ConnectionAction 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.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() + # 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 ConnectionAction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "description": obj.get("description"), + "data": ConnectionAcceptanceData.from_dict(obj["data"]) if obj.get("data") 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 + 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/connection_action_request.py b/equinix/services/fabricv4/models/connection_action_request.py new file mode 100644 index 00000000..4109acfd --- /dev/null +++ b/equinix/services/fabricv4/models/connection_action_request.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.actions import Actions +from equinix.services.fabricv4.models.connection_acceptance_data import ConnectionAcceptanceData +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionActionRequest(BaseModel): + """ + Connection action request + """ # noqa: E501 + type: Actions + description: Optional[StrictStr] = Field(default=None, description="Connection rejection reason datail") + data: Optional[ConnectionAcceptanceData] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "description", "data"] + + 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 ConnectionActionRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of data + if self.data: + _dict['data'] = self.data.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "description": obj.get("description"), + "data": ConnectionAcceptanceData.from_dict(obj["data"]) if obj.get("data") is not None else None + }) + # 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/connection_change_operation.py b/equinix/services/fabricv4/models/connection_change_operation.py new file mode 100644 index 00000000..d1c6a254 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_change_operation.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionChangeOperation(BaseModel): + """ + Connection change operation data + """ # noqa: E501 + op: StrictStr = Field(description="Handy shortcut for operation name") + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: Optional[Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 ConnectionChangeOperation 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 + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/connection_company_profile.py b/equinix/services/fabricv4/models/connection_company_profile.py new file mode 100644 index 00000000..90369299 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_company_profile.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionCompanyProfile(BaseModel): + """ + Connection Company Profile Details + """ # noqa: E501 + id: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="company profile identifier") + name: Optional[StrictStr] = Field(default=None, description="company profile name") + global_org_id: Optional[StrictStr] = Field(default=None, description="global customer organization value", alias="globalOrgId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["id", "name", "globalOrgId"] + + 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 ConnectionCompanyProfile 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 ConnectionCompanyProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "name": obj.get("name"), + "globalOrgId": obj.get("globalOrgId") + }) + # 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/connection_direction.py b/equinix/services/fabricv4/models/connection_direction.py new file mode 100644 index 00000000..4bba3d0e --- /dev/null +++ b/equinix/services/fabricv4/models/connection_direction.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionDirection(str, Enum): + """ + Connection directionality from the requester point of view + """ + + """ + allowed enum values + """ + INTERNAL = 'INTERNAL' + INCOMING = 'INCOMING' + OUTGOING = 'OUTGOING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_invitation.py b/equinix/services/fabricv4/models/connection_invitation.py new file mode 100644 index 00000000..14eba724 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_invitation.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionInvitation(BaseModel): + """ + Connection Invitation Details + """ # noqa: E501 + email: Optional[StrictStr] = Field(default=None, description="invitee email") + message: Optional[StrictStr] = Field(default=None, description="invitation message") + ctr_draft_order_id: Optional[StrictStr] = Field(default=None, description="draft order id for invitation", alias="ctrDraftOrderId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["email", "message", "ctrDraftOrderId"] + + 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 ConnectionInvitation 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 ConnectionInvitation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "email": obj.get("email"), + "message": obj.get("message"), + "ctrDraftOrderId": obj.get("ctrDraftOrderId") + }) + # 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/connection_link.py b/equinix/services/fabricv4/models/connection_link.py new file mode 100644 index 00000000..69ddb7bf --- /dev/null +++ b/equinix/services/fabricv4/models/connection_link.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection_link_type import ConnectionLinkType +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionLink(BaseModel): + """ + ConnectionLink + """ # noqa: E501 + href: Optional[StrictStr] = None + type: Optional[ConnectionLinkType] = None + uuid: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "uuid"] + + 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 ConnectionLink 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 ConnectionLink 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"), + "type": obj.get("type"), + "uuid": obj.get("uuid") + }) + # 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/connection_link_type.py b/equinix/services/fabricv4/models/connection_link_type.py new file mode 100644 index 00000000..a2c05212 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_link_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionLinkType(str, Enum): + """ + ConnectionLinkType + """ + + """ + allowed enum values + """ + EVPL_VC = 'EVPL_VC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionLinkType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_operation.py b/equinix/services/fabricv4/models/connection_operation.py new file mode 100644 index 00000000..455e08f0 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_operation.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection_operation_operational_status import ConnectionOperationOperationalStatus +from equinix.services.fabricv4.models.equinix_status import EquinixStatus +from equinix.services.fabricv4.models.error import Error +from equinix.services.fabricv4.models.provider_status import ProviderStatus +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionOperation(BaseModel): + """ + Connection type-specific operational data + """ # noqa: E501 + provider_status: Optional[ProviderStatus] = Field(default=None, alias="providerStatus") + equinix_status: Optional[EquinixStatus] = Field(default=None, alias="equinixStatus") + operational_status: Optional[ConnectionOperationOperationalStatus] = Field(default=None, alias="operationalStatus") + errors: Optional[List[Error]] = None + op_status_changed_at: Optional[datetime] = Field(default=None, description="When connection transitioned into current operational status", alias="opStatusChangedAt") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["providerStatus", "equinixStatus", "operationalStatus", "errors", "opStatusChangedAt"] + + 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 ConnectionOperation 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in errors (list) + _items = [] + if self.errors: + for _item in self.errors: + if _item: + _items.append(_item.to_dict()) + _dict['errors'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "providerStatus": obj.get("providerStatus"), + "equinixStatus": obj.get("equinixStatus"), + "operationalStatus": obj.get("operationalStatus"), + "errors": [Error.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None, + "opStatusChangedAt": obj.get("opStatusChangedAt") + }) + # 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/connection_operation_operational_status.py b/equinix/services/fabricv4/models/connection_operation_operational_status.py new file mode 100644 index 00000000..ca334d36 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_operation_operational_status.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionOperationOperationalStatus(str, Enum): + """ + Connection operational status + """ + + """ + allowed enum values + """ + UP = 'UP' + DOWN = 'DOWN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionOperationOperationalStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_post_request.py b/equinix/services/fabricv4/models/connection_post_request.py new file mode 100644 index 00000000..bd7c923d --- /dev/null +++ b/equinix/services/fabricv4/models/connection_post_request.py @@ -0,0 +1,159 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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_extensions import Annotated +from equinix.services.fabricv4.models.connection_redundancy import ConnectionRedundancy +from equinix.services.fabricv4.models.connection_side import ConnectionSide +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from equinix.services.fabricv4.models.connection_type import ConnectionType +from equinix.services.fabricv4.models.geo_scope_type import GeoScopeType +from equinix.services.fabricv4.models.order import Order +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionPostRequest(BaseModel): + """ + Create connection post request + """ # noqa: E501 + type: ConnectionType + name: StrictStr = Field(description="Customer-provided connection name") + order: Optional[Order] = None + notifications: List[SimplifiedNotification] = Field(description="Preferences for notifications on connection configuration or status changes") + bandwidth: Annotated[int, Field(le=50000, strict=True, ge=0)] = Field(description="Connection bandwidth in Mbps") + geo_scope: Optional[GeoScopeType] = Field(default=None, alias="geoScope") + redundancy: Optional[ConnectionRedundancy] = None + a_side: ConnectionSide = Field(alias="aSide") + z_side: ConnectionSide = Field(alias="zSide") + project: Optional[Project] = None + additional_info: Optional[List[ConnectionSideAdditionalInfo]] = Field(default=None, description="Connection additional information", alias="additionalInfo") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "order", "notifications", "bandwidth", "geoScope", "redundancy", "aSide", "zSide", "project", "additionalInfo"] + + 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 ConnectionPostRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.to_dict() + # override the default output from pydantic by calling `to_dict()` of a_side + if self.a_side: + _dict['aSide'] = self.a_side.to_dict() + # override the default output from pydantic by calling `to_dict()` of z_side + if self.z_side: + _dict['zSide'] = self.z_side.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "order": Order.from_dict(obj["order"]) if obj.get("order") is not None else None, + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "bandwidth": obj.get("bandwidth"), + "geoScope": obj.get("geoScope"), + "redundancy": ConnectionRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None, + "aSide": ConnectionSide.from_dict(obj["aSide"]) if obj.get("aSide") is not None else None, + "zSide": ConnectionSide.from_dict(obj["zSide"]) if obj.get("zSide") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "additionalInfo": [ConnectionSideAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None + }) + # 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/connection_priority.py b/equinix/services/fabricv4/models/connection_priority.py new file mode 100644 index 00000000..d612bb73 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_priority.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionPriority(str, Enum): + """ + Connection priority in redundancy group + """ + + """ + allowed enum values + """ + PRIMARY = 'PRIMARY' + SECONDARY = 'SECONDARY' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionPriority from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_redundancy.py b/equinix/services/fabricv4/models/connection_redundancy.py new file mode 100644 index 00000000..c29bbf0b --- /dev/null +++ b/equinix/services/fabricv4/models/connection_redundancy.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection_priority import ConnectionPriority +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionRedundancy(BaseModel): + """ + Connection redundancy configuration + """ # noqa: E501 + group: Optional[StrictStr] = Field(default=None, description="Redundancy group identifier (UUID of primary connection)") + priority: Optional[ConnectionPriority] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["group", "priority"] + + 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 ConnectionRedundancy 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 ConnectionRedundancy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "group": obj.get("group"), + "priority": obj.get("priority") + }) + # 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/connection_response.py b/equinix/services/fabricv4/models/connection_response.py new file mode 100644 index 00000000..7b894253 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_response.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection import Connection +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionResponse(BaseModel): + """ + ValidateResponse + """ # noqa: E501 + additional_info: Optional[List[ConnectionSideAdditionalInfo]] = Field(default=None, description="Additional information", alias="additionalInfo") + data: Optional[List[Connection]] = Field(default=None, description="Connection response data") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["additionalInfo", "data"] + + 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 ConnectionResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "additionalInfo": [ConnectionSideAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None, + "data": [Connection.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/connection_route_filter_data.py b/equinix/services/fabricv4/models/connection_route_filter_data.py new file mode 100644 index 00000000..5810853e --- /dev/null +++ b/equinix/services/fabricv4/models/connection_route_filter_data.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection_route_filter_data_attachment_status import ConnectionRouteFilterDataAttachmentStatus +from equinix.services.fabricv4.models.connection_route_filter_data_direction import ConnectionRouteFilterDataDirection +from equinix.services.fabricv4.models.connection_route_filter_data_type import ConnectionRouteFilterDataType +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionRouteFilterData(BaseModel): + """ + ConnectionRouteFilterData + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Route Filter URI") + type: Optional[ConnectionRouteFilterDataType] = None + uuid: Optional[StrictStr] = Field(default=None, description="Route Filter identifier") + attachment_status: Optional[ConnectionRouteFilterDataAttachmentStatus] = Field(default=None, alias="attachmentStatus") + direction: Optional[ConnectionRouteFilterDataDirection] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "uuid", "attachmentStatus", "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 ConnectionRouteFilterData 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 ConnectionRouteFilterData 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"), + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "attachmentStatus": obj.get("attachmentStatus"), + "direction": obj.get("direction") + }) + # 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/connection_route_filter_data_attachment_status.py b/equinix/services/fabricv4/models/connection_route_filter_data_attachment_status.py new file mode 100644 index 00000000..7b4d68e9 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_route_filter_data_attachment_status.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionRouteFilterDataAttachmentStatus(str, Enum): + """ + ConnectionRouteFilterDataAttachmentStatus + """ + + """ + allowed enum values + """ + ATTACHING = 'ATTACHING' + ATTACHED = 'ATTACHED' + DETACHED = 'DETACHED' + DETACHING = 'DETACHING' + FAILED = 'FAILED' + PENDING_BGP_CONFIGURATION = 'PENDING_BGP_CONFIGURATION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionRouteFilterDataAttachmentStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_route_filter_data_direction.py b/equinix/services/fabricv4/models/connection_route_filter_data_direction.py new file mode 100644 index 00000000..106620f5 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_route_filter_data_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionRouteFilterDataDirection(str, Enum): + """ + ConnectionRouteFilterDataDirection + """ + + """ + allowed enum values + """ + INBOUND = 'INBOUND' + OUTBOUND = 'OUTBOUND' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionRouteFilterDataDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_route_filter_data_type.py b/equinix/services/fabricv4/models/connection_route_filter_data_type.py new file mode 100644 index 00000000..0ee39050 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_route_filter_data_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionRouteFilterDataType(str, Enum): + """ + Route Filter type + """ + + """ + allowed enum values + """ + BGP_IPV4_PREFIX_FILTER = 'BGP_IPv4_PREFIX_FILTER' + BGP_IPV6_PREFIX_FILTER = 'BGP_IPv6_PREFIX_FILTER' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionRouteFilterDataType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_route_filters_base.py b/equinix/services/fabricv4/models/connection_route_filters_base.py new file mode 100644 index 00000000..8c95b952 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_route_filters_base.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.connection_route_filters_base_direction import ConnectionRouteFiltersBaseDirection +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionRouteFiltersBase(BaseModel): + """ + ConnectionRouteFiltersBase + """ # noqa: E501 + direction: ConnectionRouteFiltersBaseDirection + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["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 ConnectionRouteFiltersBase 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 ConnectionRouteFiltersBase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction") + }) + # 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/connection_route_filters_base_direction.py b/equinix/services/fabricv4/models/connection_route_filters_base_direction.py new file mode 100644 index 00000000..4b1189c0 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_route_filters_base_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionRouteFiltersBaseDirection(str, Enum): + """ + Route Filter direction to attach to a connection + """ + + """ + allowed enum values + """ + INBOUND = 'INBOUND' + OUTBOUND = 'OUTBOUND' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionRouteFiltersBaseDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_routing_protocol_post_request.py b/equinix/services/fabricv4/models/connection_routing_protocol_post_request.py new file mode 100644 index 00000000..6de7f2a1 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_routing_protocol_post_request.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionRoutingProtocolPostRequest(BaseModel): + """ + Create connection routing protocolpost request + """ # noqa: E501 + data: Optional[List[RoutingProtocolBase]] = Field(default=None, description="Connection routing protocol configuration") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data"] + + 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 ConnectionRoutingProtocolPostRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionRoutingProtocolPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [RoutingProtocolBase.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/connection_search_response.py b/equinix/services/fabricv4/models/connection_search_response.py new file mode 100644 index 00000000..42dab573 --- /dev/null +++ b/equinix/services/fabricv4/models/connection_search_response.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection import Connection +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.sort_criteria_response import SortCriteriaResponse +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionSearchResponse(BaseModel): + """ + List of connections + """ # noqa: E501 + pagination: Optional[Pagination] = None + sort: Optional[List[SortCriteriaResponse]] = None + data: Optional[List[Connection]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "sort", "data"] + + 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 ConnectionSearchResponse 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, + ) + # 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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionSearchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [SortCriteriaResponse.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None, + "data": [Connection.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/connection_side.py b/equinix/services/fabricv4/models/connection_side.py new file mode 100644 index 00000000..8336b81c --- /dev/null +++ b/equinix/services/fabricv4/models/connection_side.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.access_point import AccessPoint +from equinix.services.fabricv4.models.connection_company_profile import ConnectionCompanyProfile +from equinix.services.fabricv4.models.connection_invitation import ConnectionInvitation +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from equinix.services.fabricv4.models.internet_access import InternetAccess +from equinix.services.fabricv4.models.service_token import ServiceToken +from typing import Optional, Set +from typing_extensions import Self + +class ConnectionSide(BaseModel): + """ + Connection configuration object for each side of multi-segment connection + """ # noqa: E501 + service_token: Optional[ServiceToken] = Field(default=None, alias="serviceToken") + access_point: Optional[AccessPoint] = Field(default=None, alias="accessPoint") + internet_access: Optional[InternetAccess] = Field(default=None, alias="internetAccess") + company_profile: Optional[ConnectionCompanyProfile] = Field(default=None, alias="companyProfile") + invitation: Optional[ConnectionInvitation] = None + additional_info: Optional[List[ConnectionSideAdditionalInfo]] = Field(default=None, description="Any additional information, which is not part of connection metadata or configuration", alias="additionalInfo") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["serviceToken", "accessPoint", "internetAccess", "companyProfile", "invitation", "additionalInfo"] + + 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 ConnectionSide 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, + ) + # override the default output from pydantic by calling `to_dict()` of service_token + if self.service_token: + _dict['serviceToken'] = self.service_token.to_dict() + # override the default output from pydantic by calling `to_dict()` of access_point + if self.access_point: + _dict['accessPoint'] = self.access_point.to_dict() + # override the default output from pydantic by calling `to_dict()` of internet_access + if self.internet_access: + _dict['internetAccess'] = self.internet_access.to_dict() + # 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 invitation + if self.invitation: + _dict['invitation'] = self.invitation.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ConnectionSide from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "serviceToken": ServiceToken.from_dict(obj["serviceToken"]) if obj.get("serviceToken") is not None else None, + "accessPoint": AccessPoint.from_dict(obj["accessPoint"]) if obj.get("accessPoint") is not None else None, + "internetAccess": InternetAccess.from_dict(obj["internetAccess"]) if obj.get("internetAccess") is not None else None, + "companyProfile": ConnectionCompanyProfile.from_dict(obj["companyProfile"]) if obj.get("companyProfile") is not None else None, + "invitation": ConnectionInvitation.from_dict(obj["invitation"]) if obj.get("invitation") is not None else None, + "additionalInfo": [ConnectionSideAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None + }) + # 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/connection_side_additional_info.py b/equinix/services/fabricv4/models/connection_side_additional_info.py new file mode 100644 index 00000000..25c4b9ba --- /dev/null +++ b/equinix/services/fabricv4/models/connection_side_additional_info.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionSideAdditionalInfo(BaseModel): + """ + Additional information + """ # noqa: E501 + key: Optional[StrictStr] = Field(default=None, description="Key") + value: Optional[StrictStr] = Field(default=None, description="Value") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["key", "value"] + + 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 ConnectionSideAdditionalInfo 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 ConnectionSideAdditionalInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "value": obj.get("value") + }) + # 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/connection_state.py b/equinix/services/fabricv4/models/connection_state.py new file mode 100644 index 00000000..046ee97d --- /dev/null +++ b/equinix/services/fabricv4/models/connection_state.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionState(str, Enum): + """ + Connection status + """ + + """ + allowed enum values + """ + ACTIVE = 'ACTIVE' + CANCELLED = 'CANCELLED' + DEPROVISIONED = 'DEPROVISIONED' + DEPROVISIONING = 'DEPROVISIONING' + DRAFT = 'DRAFT' + FAILED = 'FAILED' + PENDING = 'PENDING' + PROVISIONED = 'PROVISIONED' + PROVISIONING = 'PROVISIONING' + REPROVISIONING = 'REPROVISIONING' + EMPTY = '' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_type.py b/equinix/services/fabricv4/models/connection_type.py new file mode 100644 index 00000000..b8c95fbb --- /dev/null +++ b/equinix/services/fabricv4/models/connection_type.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectionType(str, Enum): + """ + Connection type + """ + + """ + allowed enum values + """ + EVPL_VC = 'EVPL_VC' + EPL_VC = 'EPL_VC' + EC_VC = 'EC_VC' + IP_VC = 'IP_VC' + ACCESS_EPL_VC = 'ACCESS_EPL_VC' + EIA_VC = 'EIA_VC' + EVPLAN_VC = 'EVPLAN_VC' + EPLAN_VC = 'EPLAN_VC' + IPWAN_VC = 'IPWAN_VC' + IA_VC = 'IA_VC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connectivity_source.py b/equinix/services/fabricv4/models/connectivity_source.py new file mode 100644 index 00000000..b5406ba2 --- /dev/null +++ b/equinix/services/fabricv4/models/connectivity_source.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connectivity_source_type import ConnectivitySourceType +from typing import Optional, Set +from typing_extensions import Self + +class ConnectivitySource(BaseModel): + """ + Physical or virtual port that houses the connection. + """ # noqa: E501 + type: Optional[ConnectivitySourceType] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type"] + + 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 ConnectivitySource 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 ConnectivitySource from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") + }) + # 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/connectivity_source_type.py b/equinix/services/fabricv4/models/connectivity_source_type.py new file mode 100644 index 00000000..86aa20f6 --- /dev/null +++ b/equinix/services/fabricv4/models/connectivity_source_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ConnectivitySourceType(str, Enum): + """ + Type of connectivity. COLO, colocation; BMMR, building meet-me room. The default is COLO.
A building meet-me room (BMMR) is a room within the same building where an Equinix IBX customer can connect with a non-Equinix IBX customer. + """ + + """ + allowed enum values + """ + COLO = 'COLO' + BMMR = 'BMMR' + REMOTE = 'REMOTE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ConnectivitySourceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/custom_field.py b/equinix/services/fabricv4/models/custom_field.py new file mode 100644 index 00000000..a41810ca --- /dev/null +++ b/equinix/services/fabricv4/models/custom_field.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.custom_field_data_type import CustomFieldDataType +from typing import Optional, Set +from typing_extensions import Self + +class CustomField(BaseModel): + """ + Define Custom Attributes + """ # noqa: E501 + label: StrictStr + description: StrictStr + required: Optional[StrictBool] = None + data_type: CustomFieldDataType = Field(alias="dataType") + options: Optional[List[StrictStr]] = None + capture_in_email: Optional[StrictBool] = Field(default=None, description="capture this field as a part of email notification", alias="captureInEmail") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["label", "description", "required", "dataType", "options", "captureInEmail"] + + 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 CustomField 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 CustomField from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "label": obj.get("label"), + "description": obj.get("description"), + "required": obj.get("required"), + "dataType": obj.get("dataType"), + "options": obj.get("options"), + "captureInEmail": obj.get("captureInEmail") + }) + # 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/custom_field_data_type.py b/equinix/services/fabricv4/models/custom_field_data_type.py new file mode 100644 index 00000000..3bc0b3d8 --- /dev/null +++ b/equinix/services/fabricv4/models/custom_field_data_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 CustomFieldDataType(str, Enum): + """ + CustomFieldDataType + """ + + """ + allowed enum values + """ + STRING = 'STRING' + LIST = 'LIST' + NUMBER = 'NUMBER' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CustomFieldDataType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/direct_connection_ipv4.py b/equinix/services/fabricv4/models/direct_connection_ipv4.py new file mode 100644 index 00000000..ad813dd6 --- /dev/null +++ b/equinix/services/fabricv4/models/direct_connection_ipv4.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 DirectConnectionIpv4(BaseModel): + """ + DirectConnectionIpv4 + """ # noqa: E501 + equinix_iface_ip: Optional[StrictStr] = Field(default=None, description="Equinix side Interface IP address", alias="equinixIfaceIp") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["equinixIfaceIp"] + + 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 DirectConnectionIpv4 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 DirectConnectionIpv4 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "equinixIfaceIp": obj.get("equinixIfaceIp") + }) + # 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/direct_connection_ipv6.py b/equinix/services/fabricv4/models/direct_connection_ipv6.py new file mode 100644 index 00000000..dd3de66a --- /dev/null +++ b/equinix/services/fabricv4/models/direct_connection_ipv6.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Optional, Set +from typing_extensions import Self + +class DirectConnectionIpv6(BaseModel): + """ + DirectConnectionIpv6 + """ # noqa: E501 + equinix_iface_ip: StrictStr = Field(description="Equinix side Interface IP address", alias="equinixIfaceIp") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["equinixIfaceIp"] + + 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 DirectConnectionIpv6 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 DirectConnectionIpv6 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "equinixIfaceIp": obj.get("equinixIfaceIp") + }) + # 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/direction.py b/equinix/services/fabricv4/models/direction.py new file mode 100644 index 00000000..c736bef6 --- /dev/null +++ b/equinix/services/fabricv4/models/direction.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from equinix.services.fabricv4.models.metrics import Metrics +from typing import Optional, Set +from typing_extensions import Self + +class Direction(BaseModel): + """ + Directional statistics + """ # noqa: E501 + max: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Max bandwidth within request time range, represented in units specified by response \"units\" field") + mean: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Mean bandwidth within request time range, represented in units specified by response \"units\" field") + metrics: Optional[List[Metrics]] = Field(default=None, description="Bandwidth utilization statistics for a specified interval.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["max", "mean", "metrics"] + + 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 Direction 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in metrics (list) + _items = [] + if self.metrics: + for _item in self.metrics: + if _item: + _items.append(_item.to_dict()) + _dict['metrics'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Direction from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "max": obj.get("max"), + "mean": obj.get("mean"), + "metrics": [Metrics.from_dict(_item) for _item in obj["metrics"]] if obj.get("metrics") is not None else None + }) + # 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/duration.py b/equinix/services/fabricv4/models/duration.py new file mode 100644 index 00000000..0eb8257e --- /dev/null +++ b/equinix/services/fabricv4/models/duration.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Duration(str, Enum): + """ + Duration of the statistical analysis interval. + """ + + """ + allowed enum values + """ + P7D = 'P7D' + P1M = 'P1M' + P3M = 'P3M' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Duration from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/equinix_status.py b/equinix/services/fabricv4/models/equinix_status.py new file mode 100644 index 00000000..37606d28 --- /dev/null +++ b/equinix/services/fabricv4/models/equinix_status.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 EquinixStatus(str, Enum): + """ + Connection status + """ + + """ + allowed enum values + """ + REJECTED_ACK = 'REJECTED_ACK' + REJECTED = 'REJECTED' + PENDING_DELETE = 'PENDING_DELETE' + PROVISIONED = 'PROVISIONED' + BEING_REPROVISIONED = 'BEING_REPROVISIONED' + BEING_DEPROVISIONED = 'BEING_DEPROVISIONED' + BEING_PROVISIONED = 'BEING_PROVISIONED' + CREATED = 'CREATED' + ERRORED = 'ERRORED' + PENDING_DEPROVISIONING = 'PENDING_DEPROVISIONING' + APPROVED = 'APPROVED' + ORDERING = 'ORDERING' + PENDING_APPROVAL = 'PENDING_APPROVAL' + NOT_PROVISIONED = 'NOT_PROVISIONED' + DEPROVISIONING = 'DEPROVISIONING' + NOT_DEPROVISIONED = 'NOT_DEPROVISIONED' + PENDING_AUTO_APPROVAL = 'PENDING_AUTO_APPROVAL' + PROVISIONING = 'PROVISIONING' + PENDING_BGP_PEERING = 'PENDING_BGP_PEERING' + PENDING_PROVIDER_VLAN = 'PENDING_PROVIDER_VLAN' + DEPROVISIONED = 'DEPROVISIONED' + DELETED = 'DELETED' + PENDING_BANDWIDTH_APPROVAL = 'PENDING_BANDWIDTH_APPROVAL' + AUTO_APPROVAL_FAILED = 'AUTO_APPROVAL_FAILED' + UPDATE_PENDING = 'UPDATE_PENDING' + DELETED_API = 'DELETED_API' + MODIFIED = 'MODIFIED' + PENDING_PROVIDER_VLAN_ERROR = 'PENDING_PROVIDER_VLAN_ERROR' + DRAFT = 'DRAFT' + CANCELLED = 'CANCELLED' + PENDING_INTERFACE_CONFIGURATION = 'PENDING_INTERFACE_CONFIGURATION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of EquinixStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/error.py b/equinix/services/fabricv4/models/error.py new file mode 100644 index 00000000..0099fdf8 --- /dev/null +++ b/equinix/services/fabricv4/models/error.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.price_error_additional_info import PriceErrorAdditionalInfo +from typing import Optional, Set +from typing_extensions import Self + +class Error(BaseModel): + """ + Error Response with details + """ # noqa: E501 + error_code: Annotated[str, Field(strict=True)] = Field(alias="errorCode") + error_message: StrictStr = Field(alias="errorMessage") + correlation_id: Optional[StrictStr] = Field(default=None, alias="correlationId") + details: Optional[StrictStr] = None + help: Optional[StrictStr] = None + additional_info: Optional[List[PriceErrorAdditionalInfo]] = Field(default=None, alias="additionalInfo") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["errorCode", "errorMessage", "correlationId", "details", "help", "additionalInfo"] + + @field_validator('error_code') + def error_code_validate_regular_expression(cls, value): + """Validates the regular expression""" + if not re.match(r"^EQ-\d{7}$", value): + raise ValueError(r"must validate the regular expression /^EQ-\d{7}$/") + return value + + 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 Error 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Error from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "errorMessage": obj.get("errorMessage"), + "correlationId": obj.get("correlationId"), + "details": obj.get("details"), + "help": obj.get("help"), + "additionalInfo": [PriceErrorAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None + }) + # 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/expression.py b/equinix/services/fabricv4/models/expression.py new file mode 100644 index 00000000..78480d58 --- /dev/null +++ b/equinix/services/fabricv4/models/expression.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.expression_operator import ExpressionOperator +from equinix.services.fabricv4.models.search_field_name import SearchFieldName +from typing import Optional, Set +from typing_extensions import Self + +class Expression(BaseModel): + """ + Expression + """ # noqa: E501 + var_and: Optional[List[Expression]] = Field(default=None, alias="and") + var_or: Optional[List[Expression]] = Field(default=None, alias="or") + var_property: Optional[SearchFieldName] = Field(default=None, alias="property") + operator: Optional[ExpressionOperator] = None + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and", "or", "property", "operator", "values"] + + 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 Expression 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in var_or (list) + _items = [] + if self.var_or: + for _item in self.var_or: + if _item: + _items.append(_item.to_dict()) + _dict['or'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Expression from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [Expression.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None, + "or": [Expression.from_dict(_item) for _item in obj["or"]] if obj.get("or") is not None else None, + "property": obj.get("property"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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 + +# TODO: Rewrite to not use raise_errors +Expression.model_rebuild(raise_errors=False) + diff --git a/equinix/services/fabricv4/models/expression_operator.py b/equinix/services/fabricv4/models/expression_operator.py new file mode 100644 index 00000000..3615fd1f --- /dev/null +++ b/equinix/services/fabricv4/models/expression_operator.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ExpressionOperator(str, Enum): + """ + ExpressionOperator + """ + + """ + allowed enum values + """ + EQUAL = '=' + EXCLAMATION_EQUAL = '!=' + GREATER_THAN = '>' + GREATER_THAN_EQUAL = '>=' + LESS_THAN = '<' + LESS_THAN_EQUAL = '<=' + BETWEEN = 'BETWEEN' + NOT_BETWEEN = 'NOT BETWEEN' + LIKE = 'LIKE' + NOT_LIKE = 'NOT LIKE' + IN = 'IN' + NOT_IN = 'NOT IN' + IS_NOT_NULL = 'IS NOT NULL' + IS_NULL = 'IS NULL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ExpressionOperator from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/fabric_cloud_router_code.py b/equinix/services/fabricv4/models/fabric_cloud_router_code.py new file mode 100644 index 00000000..89a8aa41 --- /dev/null +++ b/equinix/services/fabricv4/models/fabric_cloud_router_code.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 FabricCloudRouterCode(str, Enum): + """ + Cloud Router code + """ + + """ + allowed enum values + """ + LAB = 'LAB' + ADVANCED = 'ADVANCED' + STANDARD = 'STANDARD' + PREMIUM = 'PREMIUM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of FabricCloudRouterCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/fabric_cloud_router_packages.py b/equinix/services/fabricv4/models/fabric_cloud_router_packages.py new file mode 100644 index 00000000..7e7f8242 --- /dev/null +++ b/equinix/services/fabricv4/models/fabric_cloud_router_packages.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.fabric_cloud_router_code import FabricCloudRouterCode +from typing import Optional, Set +from typing_extensions import Self + +class FabricCloudRouterPackages(BaseModel): + """ + Cloud Router package + """ # noqa: E501 + code: Optional[FabricCloudRouterCode] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["code"] + + 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 FabricCloudRouterPackages 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 FabricCloudRouterPackages from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code") + }) + # 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/fabric_cloud_router_price.py b/equinix/services/fabricv4/models/fabric_cloud_router_price.py new file mode 100644 index 00000000..3c112130 --- /dev/null +++ b/equinix/services/fabricv4/models/fabric_cloud_router_price.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.fabric_cloud_router_packages import FabricCloudRouterPackages +from equinix.services.fabricv4.models.price_location import PriceLocation +from typing import Optional, Set +from typing_extensions import Self + +class FabricCloudRouterPrice(BaseModel): + """ + Cloud Router Product configuration + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Unique identifier assigned to the Cloud Router") + location: Optional[PriceLocation] = None + package: Optional[FabricCloudRouterPackages] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "location", "package"] + + 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 FabricCloudRouterPrice 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of package + if self.package: + _dict['package'] = self.package.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FabricCloudRouterPrice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "location": PriceLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "package": FabricCloudRouterPackages.from_dict(obj["package"]) if obj.get("package") is not None else None + }) + # 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/fabric_connection_uuid.py b/equinix/services/fabricv4/models/fabric_connection_uuid.py new file mode 100644 index 00000000..86082ed6 --- /dev/null +++ b/equinix/services/fabricv4/models/fabric_connection_uuid.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 FabricConnectionUuid(BaseModel): + """ + UUID of the Fabric Connection Instance + """ # noqa: E501 + uuid: StrictStr = Field(description="uuid of the Fabric L2 connection") + href: Optional[StrictStr] = Field(default=None, description="the href for the L2 connection") + type: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "href", "type"] + + 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 FabricConnectionUuid 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 FabricConnectionUuid from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "href": obj.get("href"), + "type": obj.get("type") + }) + # 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/filter_body.py b/equinix/services/fabricv4/models/filter_body.py new file mode 100644 index 00000000..803e3a4d --- /dev/null +++ b/equinix/services/fabricv4/models/filter_body.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.search_expression import SearchExpression +from typing import Optional, Set +from typing_extensions import Self + +class FilterBody(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[SearchExpression] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter"] + + 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 FilterBody 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of FilterBody from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": SearchExpression.from_dict(obj["filter"]) if obj.get("filter") is not None else None + }) + # 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/geo_coordinates.py b/equinix/services/fabricv4/models/geo_coordinates.py new file mode 100644 index 00000000..6edc7be1 --- /dev/null +++ b/equinix/services/fabricv4/models/geo_coordinates.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class GeoCoordinates(BaseModel): + """ + Geographic location data of Fabric Metro + """ # noqa: E501 + latitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Latitude of a Fabric Metro") + longitude: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Longitude of a Fabric Metro") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["latitude", "longitude"] + + 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 GeoCoordinates 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 GeoCoordinates from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "latitude": obj.get("latitude"), + "longitude": obj.get("longitude") + }) + # 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/geo_scope_type.py b/equinix/services/fabricv4/models/geo_scope_type.py new file mode 100644 index 00000000..22fae21a --- /dev/null +++ b/equinix/services/fabricv4/models/geo_scope_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 GeoScopeType(str, Enum): + """ + Geographic boundary types + """ + + """ + allowed enum values + """ + CANADA = 'CANADA' + CONUS = 'CONUS' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of GeoScopeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/get_all_connection_route_filters_response.py b/equinix/services/fabricv4/models/get_all_connection_route_filters_response.py new file mode 100644 index 00000000..d43bd679 --- /dev/null +++ b/equinix/services/fabricv4/models/get_all_connection_route_filters_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class GetAllConnectionRouteFiltersResponse(BaseModel): + """ + GetAllConnectionRouteFiltersResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[ConnectionRouteFilterData]] = Field(default=None, description="List of Route Filters attached to a Connection") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 GetAllConnectionRouteFiltersResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetAllConnectionRouteFiltersResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [ConnectionRouteFilterData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/get_response.py b/equinix/services/fabricv4/models/get_response.py new file mode 100644 index 00000000..f58a3e17 --- /dev/null +++ b/equinix/services/fabricv4/models/get_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData +from typing import Optional, Set +from typing_extensions import Self + +class GetResponse(BaseModel): + """ + GetResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RoutingProtocolData]] = Field(default=None, description="List of Routing Protocols") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 GetResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RoutingProtocolData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/get_route_filter_get_connections_response.py b/equinix/services/fabricv4/models/get_route_filter_get_connections_response.py new file mode 100644 index 00000000..b6129da6 --- /dev/null +++ b/equinix/services/fabricv4/models/get_route_filter_get_connections_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.route_filter_connections_data import RouteFilterConnectionsData +from typing import Optional, Set +from typing_extensions import Self + +class GetRouteFilterGetConnectionsResponse(BaseModel): + """ + GetRouteFilterGetConnectionsResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RouteFilterConnectionsData]] = Field(default=None, description="List of Connections using a Route Filter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 GetRouteFilterGetConnectionsResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRouteFilterGetConnectionsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RouteFilterConnectionsData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/get_route_filter_rules_response.py b/equinix/services/fabricv4/models/get_route_filter_rules_response.py new file mode 100644 index 00000000..0469726a --- /dev/null +++ b/equinix/services/fabricv4/models/get_route_filter_rules_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData +from typing import Optional, Set +from typing_extensions import Self + +class GetRouteFilterRulesResponse(BaseModel): + """ + GetRouteFilterRulesResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RouteFilterRulesData]] = Field(default=None, description="List of Route Filter Rules") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 GetRouteFilterRulesResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of GetRouteFilterRulesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RouteFilterRulesData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/get_service_profiles_view_point_parameter.py b/equinix/services/fabricv4/models/get_service_profiles_view_point_parameter.py new file mode 100644 index 00000000..51e282be --- /dev/null +++ b/equinix/services/fabricv4/models/get_service_profiles_view_point_parameter.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 GetServiceProfilesViewPointParameter(str, Enum): + """ + GetServiceProfilesViewPointParameter + """ + + """ + allowed enum values + """ + ASIDE = 'aSide' + ZSIDE = 'zSide' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of GetServiceProfilesViewPointParameter from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/get_time_services_package_by_code_package_code_parameter.py b/equinix/services/fabricv4/models/get_time_services_package_by_code_package_code_parameter.py new file mode 100644 index 00000000..5494b98b --- /dev/null +++ b/equinix/services/fabricv4/models/get_time_services_package_by_code_package_code_parameter.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 GetTimeServicesPackageByCodePackageCodeParameter(str, Enum): + """ + GetTimeServicesPackageByCodePackageCodeParameter + """ + + """ + allowed enum values + """ + NTP_STANDARD = 'NTP_STANDARD' + NTP_ENTERPRISE = 'NTP_ENTERPRISE' + PTP_STANDARD = 'PTP_STANDARD' + PTP_ENTERPRISE = 'PTP_ENTERPRISE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of GetTimeServicesPackageByCodePackageCodeParameter from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/health_response.py b/equinix/services/fabricv4/models/health_response.py new file mode 100644 index 00000000..ccc4b64c --- /dev/null +++ b/equinix/services/fabricv4/models/health_response.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.api_services import ApiServices +from typing import Optional, Set +from typing_extensions import Self + +class HealthResponse(BaseModel): + """ + GET Services Health + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="The Canonical URL at which the resource resides.") + version: Optional[StrictStr] = Field(default=None, description="Indicator of a version") + release: Optional[StrictStr] = Field(default=None, description="release details.") + state: Optional[StrictStr] = Field(default=None, description="status of a service") + api_services: Optional[ApiServices] = Field(default=None, alias="apiServices") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "version", "release", "state", "apiServices"] + + 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 HealthResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of api_services + if self.api_services: + _dict['apiServices'] = self.api_services.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of HealthResponse 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"), + "version": obj.get("version"), + "release": obj.get("release"), + "state": obj.get("state"), + "apiServices": ApiServices.from_dict(obj["apiServices"]) if obj.get("apiServices") is not None else None + }) + # 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/interface.py b/equinix/services/fabricv4/models/interface.py new file mode 100644 index 00000000..f99a9e3e --- /dev/null +++ b/equinix/services/fabricv4/models/interface.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.interface_type import InterfaceType +from typing import Optional, Set +from typing_extensions import Self + +class Interface(BaseModel): + """ + Interface Information + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Interface URI") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned Interface identifier") + id: Optional[StrictInt] = Field(default=None, description="Interface id") + type: Optional[InterfaceType] = None + project_id: Optional[StrictStr] = Field(default=None, description="Interface Project ID", alias="projectId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "id", "type", "projectId"] + + 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 Interface 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 Interface 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"), + "uuid": obj.get("uuid"), + "id": obj.get("id"), + "type": obj.get("type"), + "projectId": obj.get("projectId") + }) + # 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/interface_type.py b/equinix/services/fabricv4/models/interface_type.py new file mode 100644 index 00000000..da9e227a --- /dev/null +++ b/equinix/services/fabricv4/models/interface_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 InterfaceType(str, Enum): + """ + Interface type + """ + + """ + allowed enum values + """ + CLOUD = 'CLOUD' + NETWORK = 'NETWORK' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of InterfaceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/internet_access.py b/equinix/services/fabricv4/models/internet_access.py new file mode 100644 index 00000000..78260180 --- /dev/null +++ b/equinix/services/fabricv4/models/internet_access.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 InternetAccess(BaseModel): + """ + Internet Access Details + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Internet Access Service Identifier") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid"] + + 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 InternetAccess 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 InternetAccess from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid") + }) + # 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/ip_block_price.py b/equinix/services/fabricv4/models/ip_block_price.py new file mode 100644 index 00000000..69478e11 --- /dev/null +++ b/equinix/services/fabricv4/models/ip_block_price.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.ip_block_type import IpBlockType +from equinix.services.fabricv4.models.price_location import PriceLocation +from typing import Optional, Set +from typing_extensions import Self + +class IpBlockPrice(BaseModel): + """ + IP Block Product configuration + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Either uuid or rest of attributes are required") + type: Optional[IpBlockType] = None + prefix_length: Optional[StrictInt] = Field(default=None, alias="prefixLength") + location: Optional[PriceLocation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "prefixLength", "location"] + + 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 IpBlockPrice 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of IpBlockPrice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "prefixLength": obj.get("prefixLength"), + "location": PriceLocation.from_dict(obj["location"]) if obj.get("location") is not None else None + }) + # 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/ip_block_type.py b/equinix/services/fabricv4/models/ip_block_type.py new file mode 100644 index 00000000..af33711a --- /dev/null +++ b/equinix/services/fabricv4/models/ip_block_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 IpBlockType(str, Enum): + """ + IP Block type + """ + + """ + allowed enum values + """ + IPV4 = 'IPv4' + IPV6 = 'IPv6' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of IpBlockType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/ipv4.py b/equinix/services/fabricv4/models/ipv4.py new file mode 100644 index 00000000..c4acfb3b --- /dev/null +++ b/equinix/services/fabricv4/models/ipv4.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Ipv4(BaseModel): + """ + EPT service network information + """ # noqa: E501 + primary: Optional[StrictStr] = None + secondary: Optional[StrictStr] = None + network_mask: Optional[StrictStr] = Field(default=None, alias="networkMask") + default_gateway: Optional[StrictStr] = Field(default=None, alias="defaultGateway") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["primary", "secondary", "networkMask", "defaultGateway"] + + 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 Ipv4 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 Ipv4 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "primary": obj.get("primary"), + "secondary": obj.get("secondary"), + "networkMask": obj.get("networkMask"), + "defaultGateway": obj.get("defaultGateway") + }) + # 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/json_patch_operation.py b/equinix/services/fabricv4/models/json_patch_operation.py new file mode 100644 index 00000000..20a8deb7 --- /dev/null +++ b/equinix/services/fabricv4/models/json_patch_operation.py @@ -0,0 +1,152 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from equinix.services.fabricv4.models.add_operation import AddOperation +from equinix.services.fabricv4.models.remove_operation import RemoveOperation +from equinix.services.fabricv4.models.replace_operation import ReplaceOperation +from pydantic import StrictStr, Field +from typing import Union, List, Optional, Dict +from typing_extensions import Literal, Self + +JSONPATCHOPERATION_ONE_OF_SCHEMAS = ["AddOperation", "RemoveOperation", "ReplaceOperation"] + +class JsonPatchOperation(BaseModel): + """ + Service Profile Access Points + """ + # data type: AddOperation + oneof_schema_1_validator: Optional[AddOperation] = None + # data type: RemoveOperation + oneof_schema_2_validator: Optional[RemoveOperation] = None + # data type: ReplaceOperation + oneof_schema_3_validator: Optional[ReplaceOperation] = None + actual_instance: Optional[Union[AddOperation, RemoveOperation, ReplaceOperation]] = None + one_of_schemas: List[str] = Field(default=Literal["AddOperation", "RemoveOperation", "ReplaceOperation"]) + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = JsonPatchOperation.model_construct() + error_messages = [] + match = 0 + # validate data type: AddOperation + if not isinstance(v, AddOperation): + error_messages.append(f"Error! Input type `{type(v)}` is not `AddOperation`") + else: + match += 1 + # validate data type: RemoveOperation + if not isinstance(v, RemoveOperation): + error_messages.append(f"Error! Input type `{type(v)}` is not `RemoveOperation`") + else: + match += 1 + # validate data type: ReplaceOperation + if not isinstance(v, ReplaceOperation): + error_messages.append(f"Error! Input type `{type(v)}` is not `ReplaceOperation`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in JsonPatchOperation with oneOf schemas: AddOperation, RemoveOperation, ReplaceOperation. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in JsonPatchOperation with oneOf schemas: AddOperation, RemoveOperation, ReplaceOperation. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into AddOperation + try: + instance.actual_instance = AddOperation.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into RemoveOperation + try: + instance.actual_instance = RemoveOperation.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into ReplaceOperation + try: + instance.actual_instance = ReplaceOperation.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into JsonPatchOperation with oneOf schemas: AddOperation, RemoveOperation, ReplaceOperation. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into JsonPatchOperation with oneOf schemas: AddOperation, RemoveOperation, ReplaceOperation. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], AddOperation, RemoveOperation, ReplaceOperation]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/link.py b/equinix/services/fabricv4/models/link.py new file mode 100644 index 00000000..67b2de9d --- /dev/null +++ b/equinix/services/fabricv4/models/link.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class Link(BaseModel): + """ + Link + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Resource URI") + rel: Optional[StrictStr] = Field(default=None, description="OperationId from Swagger hub spec") + method: Optional[StrictStr] = Field(default=None, description="Http method type") + content_type: Optional[StrictStr] = Field(default=None, description="Content type for the response", alias="contentType") + authenticate: Optional[StrictBool] = Field(default=None, description="Authentication required or not") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "rel", "method", "contentType", "authenticate"] + + 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 Link 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 Link 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"), + "rel": obj.get("rel"), + "method": obj.get("method"), + "contentType": obj.get("contentType"), + "authenticate": obj.get("authenticate") + }) + # 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/link_aggregation_group.py b/equinix/services/fabricv4/models/link_aggregation_group.py new file mode 100644 index 00000000..6c1d118d --- /dev/null +++ b/equinix/services/fabricv4/models/link_aggregation_group.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class LinkAggregationGroup(BaseModel): + """ + Link aggregation group (LAG) preferences and settings. + """ # noqa: E501 + enabled: Optional[StrictBool] = Field(default=False, description="Parameter showing whether LAG configuration is mandatory. The default is false.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["enabled"] + + 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 LinkAggregationGroup 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 LinkAggregationGroup from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled") if obj.get("enabled") is not None else False + }) + # 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/link_protocol.py b/equinix/services/fabricv4/models/link_protocol.py new file mode 100644 index 00000000..ac429322 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol.py @@ -0,0 +1,183 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from equinix.services.fabricv4.models.link_protocol_dot1q import LinkProtocolDot1q +from equinix.services.fabricv4.models.link_protocol_evpn_vxlan import LinkProtocolEvpnVxlan +from equinix.services.fabricv4.models.link_protocol_qinq import LinkProtocolQinq +from equinix.services.fabricv4.models.link_protocol_untagged import LinkProtocolUntagged +from equinix.services.fabricv4.models.link_protocol_vxlan import LinkProtocolVxlan +from pydantic import StrictStr, Field +from typing import Union, List, Optional, Dict +from typing_extensions import Literal, Self + +LINKPROTOCOL_ONE_OF_SCHEMAS = ["LinkProtocolDot1q", "LinkProtocolEvpnVxlan", "LinkProtocolQinq", "LinkProtocolUntagged", "LinkProtocolVxlan"] + +class LinkProtocol(BaseModel): + """ + Connection link protocol Configuration + """ + # data type: LinkProtocolUntagged + oneof_schema_1_validator: Optional[LinkProtocolUntagged] = None + # data type: LinkProtocolDot1q + oneof_schema_2_validator: Optional[LinkProtocolDot1q] = None + # data type: LinkProtocolQinq + oneof_schema_3_validator: Optional[LinkProtocolQinq] = None + # data type: LinkProtocolVxlan + oneof_schema_4_validator: Optional[LinkProtocolVxlan] = None + # data type: LinkProtocolEvpnVxlan + oneof_schema_5_validator: Optional[LinkProtocolEvpnVxlan] = None + actual_instance: Optional[Union[LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan]] = None + one_of_schemas: List[str] = Field(default=Literal["LinkProtocolDot1q", "LinkProtocolEvpnVxlan", "LinkProtocolQinq", "LinkProtocolUntagged", "LinkProtocolVxlan"]) + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + discriminator_value_class_map: Dict[str, str] = { + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = LinkProtocol.model_construct() + error_messages = [] + match = 0 + # validate data type: LinkProtocolUntagged + if not isinstance(v, LinkProtocolUntagged): + error_messages.append(f"Error! Input type `{type(v)}` is not `LinkProtocolUntagged`") + else: + match += 1 + # validate data type: LinkProtocolDot1q + if not isinstance(v, LinkProtocolDot1q): + error_messages.append(f"Error! Input type `{type(v)}` is not `LinkProtocolDot1q`") + else: + match += 1 + # validate data type: LinkProtocolQinq + if not isinstance(v, LinkProtocolQinq): + error_messages.append(f"Error! Input type `{type(v)}` is not `LinkProtocolQinq`") + else: + match += 1 + # validate data type: LinkProtocolVxlan + if not isinstance(v, LinkProtocolVxlan): + error_messages.append(f"Error! Input type `{type(v)}` is not `LinkProtocolVxlan`") + else: + match += 1 + # validate data type: LinkProtocolEvpnVxlan + if not isinstance(v, LinkProtocolEvpnVxlan): + error_messages.append(f"Error! Input type `{type(v)}` is not `LinkProtocolEvpnVxlan`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in LinkProtocol with oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in LinkProtocol with oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into LinkProtocolUntagged + try: + instance.actual_instance = LinkProtocolUntagged.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into LinkProtocolDot1q + try: + instance.actual_instance = LinkProtocolDot1q.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into LinkProtocolQinq + try: + instance.actual_instance = LinkProtocolQinq.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into LinkProtocolVxlan + try: + instance.actual_instance = LinkProtocolVxlan.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into LinkProtocolEvpnVxlan + try: + instance.actual_instance = LinkProtocolEvpnVxlan.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into LinkProtocol with oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into LinkProtocol with oneOf schemas: LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], LinkProtocolDot1q, LinkProtocolEvpnVxlan, LinkProtocolQinq, LinkProtocolUntagged, LinkProtocolVxlan]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/link_protocol_connection.py b/equinix/services/fabricv4/models/link_protocol_connection.py new file mode 100644 index 00000000..9d8a3f93 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_connection.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolConnection(BaseModel): + """ + Connection details of Link Protocol + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Connection URI") + uuid: Optional[StrictStr] = None + type: Optional[StrictStr] = None + bandwidth: Optional[StrictInt] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "bandwidth"] + + 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 LinkProtocolConnection 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 LinkProtocolConnection 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"), + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "bandwidth": obj.get("bandwidth") + }) + # 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/link_protocol_dot1q.py b/equinix/services/fabricv4/models/link_protocol_dot1q.py new file mode 100644 index 00000000..0fd9c95e --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_dot1q.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolDot1q(BaseModel): + """ + Connection link protocol configuration - DOT1Q + """ # noqa: E501 + type: Optional[LinkProtocolType] = None + tag_protocol_id: Optional[StrictStr] = Field(default=None, description="Tag protocol identifier", alias="tagProtocolId") + vlan_tag: StrictStr = Field(description="VLAN tag", alias="vlanTag") + vlan_tag_min: Optional[StrictInt] = Field(default=None, description="VLAN tag Min value specified for DOT1Q connections", alias="vlanTagMin") + vlan_tag_max: Optional[StrictInt] = Field(default=None, description="VLAN tag Max value specified for DOT1Q connections", alias="vlanTagMax") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "tagProtocolId", "vlanTag", "vlanTagMin", "vlanTagMax"] + + 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 LinkProtocolDot1q 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 LinkProtocolDot1q from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "tagProtocolId": obj.get("tagProtocolId"), + "vlanTag": obj.get("vlanTag"), + "vlanTagMin": obj.get("vlanTagMin"), + "vlanTagMax": obj.get("vlanTagMax") + }) + # 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/link_protocol_evpn_vxlan.py b/equinix/services/fabricv4/models/link_protocol_evpn_vxlan.py new file mode 100644 index 00000000..19021f04 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_evpn_vxlan.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolEvpnVxlan(BaseModel): + """ + Connection link protocol configuration - EVPN_VXLAN + """ # noqa: E501 + type: Optional[LinkProtocolType] = None + vnid: Annotated[int, Field(le=40000, strict=True, ge=20001)] = Field(description="Virtual Network Identifier") + type5vni: StrictInt = Field(description="Type 5 VNI identifier") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "vnid", "type5vni"] + + 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 LinkProtocolEvpnVxlan 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 LinkProtocolEvpnVxlan from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "vnid": obj.get("vnid"), + "type5vni": obj.get("type5vni") + }) + # 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/link_protocol_get_response.py b/equinix/services/fabricv4/models/link_protocol_get_response.py new file mode 100644 index 00000000..0ea87022 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_get_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.link_protocol_response import LinkProtocolResponse +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolGetResponse(BaseModel): + """ + List of Vlans + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[LinkProtocolResponse]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 LinkProtocolGetResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LinkProtocolGetResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [LinkProtocolResponse.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/link_protocol_ipv4_ipv6_config.py b/equinix/services/fabricv4/models/link_protocol_ipv4_ipv6_config.py new file mode 100644 index 00000000..e21c3ed9 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_ipv4_ipv6_config.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 LinkProtocolIpv4Ipv6Config(BaseModel): + """ + IPv4 or IPv6 specific configuration + """ # noqa: E501 + link_prefix: Optional[StrictStr] = Field(default=None, description="Link subnet prefix", alias="linkPrefix") + local_iface_ip: Optional[StrictStr] = Field(default=None, description="Prefix datatype when linkPrefix not specified", alias="localIfaceIp") + remote_iface_ip: Optional[StrictStr] = Field(default=None, description="Equinix-side link interface address", alias="remoteIfaceIp") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["linkPrefix", "localIfaceIp", "remoteIfaceIp"] + + 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 LinkProtocolIpv4Ipv6Config 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 LinkProtocolIpv4Ipv6Config from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "linkPrefix": obj.get("linkPrefix"), + "localIfaceIp": obj.get("localIfaceIp"), + "remoteIfaceIp": obj.get("remoteIfaceIp") + }) + # 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/link_protocol_qinq.py b/equinix/services/fabricv4/models/link_protocol_qinq.py new file mode 100644 index 00000000..ab664fea --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_qinq.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, Optional +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolQinq(BaseModel): + """ + Connection link protocol configuration - QINQ + """ # noqa: E501 + type: Optional[LinkProtocolType] = None + inner_tag_protocol_id: StrictInt = Field(description="Inner tag protocol identifier", alias="innerTagProtocolId") + outer_tag_protocol_id: StrictInt = Field(description="Outer tag protocol identifier", alias="outerTagProtocolId") + vlan_c_tag: StrictInt = Field(description="Inner tag, i.e., C-VLAN tag", alias="vlanCTag") + vlan_s_tag: StrictInt = Field(description="Outer tag, i.e., S-VLAN tag", alias="vlanSTag") + vlan_c_tag_min: Optional[StrictInt] = Field(default=None, description="Outer tag Min value specified for QINQ connections", alias="vlanCTagMin") + vlan_c_tag_max: Optional[StrictInt] = Field(default=None, description="Outer tag Max value specified for QINQ connections", alias="vlanCTagMax") + sub_interface: Optional[StrictInt] = Field(default=None, description="Subinterface identifier", alias="subInterface") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "innerTagProtocolId", "outerTagProtocolId", "vlanCTag", "vlanSTag", "vlanCTagMin", "vlanCTagMax", "subInterface"] + + 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 LinkProtocolQinq 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 LinkProtocolQinq from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "innerTagProtocolId": obj.get("innerTagProtocolId"), + "outerTagProtocolId": obj.get("outerTagProtocolId"), + "vlanCTag": obj.get("vlanCTag"), + "vlanSTag": obj.get("vlanSTag"), + "vlanCTagMin": obj.get("vlanCTagMin"), + "vlanCTagMax": obj.get("vlanCTagMax"), + "subInterface": obj.get("subInterface") + }) + # 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/link_protocol_request_type.py b/equinix/services/fabricv4/models/link_protocol_request_type.py new file mode 100644 index 00000000..285c1559 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_request_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 LinkProtocolRequestType(str, Enum): + """ + Type of Link Protocol + """ + + """ + allowed enum values + """ + UNTAGGED = 'UNTAGGED' + DOT1Q = 'DOT1Q' + QINQ = 'QINQ' + VXLAN = 'VXLAN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of LinkProtocolRequestType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/link_protocol_response.py b/equinix/services/fabricv4/models/link_protocol_response.py new file mode 100644 index 00000000..586527a2 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_response.py @@ -0,0 +1,151 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.link_protocol_connection import LinkProtocolConnection +from equinix.services.fabricv4.models.link_protocol_request_type import LinkProtocolRequestType +from equinix.services.fabricv4.models.link_protocol_service_token import LinkProtocolServiceToken +from equinix.services.fabricv4.models.link_protocol_state import LinkProtocolState +from equinix.services.fabricv4.models.sub_interface import SubInterface +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolResponse(BaseModel): + """ + Link Protocol response + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="LinkProtocol URI") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned network identifier") + state: Optional[LinkProtocolState] = None + type: Optional[LinkProtocolRequestType] = None + vlan_tag: Optional[StrictInt] = Field(default=None, alias="vlanTag") + vni: Optional[StrictInt] = None + vlan_tag_min: Optional[StrictInt] = Field(default=None, alias="vlanTagMin") + vlan_tag_max: Optional[StrictInt] = Field(default=None, alias="vlanTagMax") + vlan_s_tag: Optional[StrictInt] = Field(default=None, alias="vlanSTag") + vlan_c_tag: Optional[StrictInt] = Field(default=None, alias="vlanCTag") + vlan_c_tag_min: Optional[StrictInt] = Field(default=None, alias="vlanCTagMin") + vlan_c_tag_max: Optional[StrictInt] = Field(default=None, alias="vlanCTagMax") + sub_interface: Optional[SubInterface] = Field(default=None, alias="subInterface") + asset: Optional[LinkProtocolConnection] = None + service_token: Optional[LinkProtocolServiceToken] = Field(default=None, alias="serviceToken") + change_log: Optional[Changelog] = Field(default=None, alias="changeLog") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "state", "type", "vlanTag", "vni", "vlanTagMin", "vlanTagMax", "vlanSTag", "vlanCTag", "vlanCTagMin", "vlanCTagMax", "subInterface", "asset", "serviceToken", "changeLog"] + + 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 LinkProtocolResponse 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of sub_interface + if self.sub_interface: + _dict['subInterface'] = self.sub_interface.to_dict() + # override the default output from pydantic by calling `to_dict()` of asset + if self.asset: + _dict['asset'] = self.asset.to_dict() + # override the default output from pydantic by calling `to_dict()` of service_token + if self.service_token: + _dict['serviceToken'] = self.service_token.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() + # 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 LinkProtocolResponse 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"), + "uuid": obj.get("uuid"), + "state": obj.get("state"), + "type": obj.get("type"), + "vlanTag": obj.get("vlanTag"), + "vni": obj.get("vni"), + "vlanTagMin": obj.get("vlanTagMin"), + "vlanTagMax": obj.get("vlanTagMax"), + "vlanSTag": obj.get("vlanSTag"), + "vlanCTag": obj.get("vlanCTag"), + "vlanCTagMin": obj.get("vlanCTagMin"), + "vlanCTagMax": obj.get("vlanCTagMax"), + "subInterface": SubInterface.from_dict(obj["subInterface"]) if obj.get("subInterface") is not None else None, + "asset": LinkProtocolConnection.from_dict(obj["asset"]) if obj.get("asset") is not None else None, + "serviceToken": LinkProtocolServiceToken.from_dict(obj["serviceToken"]) if obj.get("serviceToken") 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 + 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/link_protocol_service_token.py b/equinix/services/fabricv4/models/link_protocol_service_token.py new file mode 100644 index 00000000..f3a888eb --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_service_token.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolServiceToken(BaseModel): + """ + Service Token details of Link Protocol + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Service Token URI") + uuid: Optional[StrictStr] = None + type: Optional[StrictStr] = None + bandwidth: Optional[StrictInt] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "bandwidth"] + + 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 LinkProtocolServiceToken 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 LinkProtocolServiceToken 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"), + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "bandwidth": obj.get("bandwidth") + }) + # 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/link_protocol_state.py b/equinix/services/fabricv4/models/link_protocol_state.py new file mode 100644 index 00000000..bdf72ea5 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_state.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 LinkProtocolState(str, Enum): + """ + Network status + """ + + """ + allowed enum values + """ + RESERVED = 'RESERVED' + RELEASED = 'RELEASED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of LinkProtocolState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/link_protocol_type.py b/equinix/services/fabricv4/models/link_protocol_type.py new file mode 100644 index 00000000..8bbc10ba --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_type.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 LinkProtocolType(str, Enum): + """ + Type of Link Protocol + """ + + """ + allowed enum values + """ + UNTAGGED = 'UNTAGGED' + DOT1Q = 'DOT1Q' + QINQ = 'QINQ' + EVPN_VXLAN = 'EVPN_VXLAN' + VXLAN = 'VXLAN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of LinkProtocolType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/link_protocol_untagged.py b/equinix/services/fabricv4/models/link_protocol_untagged.py new file mode 100644 index 00000000..55bb8973 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_untagged.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.link_protocol_ipv4_ipv6_config import LinkProtocolIpv4Ipv6Config +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolUntagged(BaseModel): + """ + Connection link protocol configuration - UNTAGGED + """ # noqa: E501 + type: Optional[LinkProtocolType] = None + ipv4: Optional[LinkProtocolIpv4Ipv6Config] = None + ipv6: Optional[LinkProtocolIpv4Ipv6Config] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "ipv4", "ipv6"] + + 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 LinkProtocolUntagged 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, + ) + # override the default output from pydantic by calling `to_dict()` of ipv4 + if self.ipv4: + _dict['ipv4'] = self.ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of ipv6 + if self.ipv6: + _dict['ipv6'] = self.ipv6.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of LinkProtocolUntagged from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "ipv4": LinkProtocolIpv4Ipv6Config.from_dict(obj["ipv4"]) if obj.get("ipv4") is not None else None, + "ipv6": LinkProtocolIpv4Ipv6Config.from_dict(obj["ipv6"]) if obj.get("ipv6") is not None else None + }) + # 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/link_protocol_vxlan.py b/equinix/services/fabricv4/models/link_protocol_vxlan.py new file mode 100644 index 00000000..1e220e69 --- /dev/null +++ b/equinix/services/fabricv4/models/link_protocol_vxlan.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from typing import Optional, Set +from typing_extensions import Self + +class LinkProtocolVxlan(BaseModel): + """ + Connection link protocol configuration - VXLAN + """ # noqa: E501 + type: Optional[LinkProtocolType] = None + vni: Annotated[int, Field(le=16777215, strict=True, ge=4097)] = Field(description="Virtual Network Identifier") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "vni"] + + 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 LinkProtocolVxlan 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 LinkProtocolVxlan from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "vni": obj.get("vni") + }) + # 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/marketing_info.py b/equinix/services/fabricv4/models/marketing_info.py new file mode 100644 index 00000000..fad75012 --- /dev/null +++ b/equinix/services/fabricv4/models/marketing_info.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.process_step import ProcessStep +from typing import Optional, Set +from typing_extensions import Self + +class MarketingInfo(BaseModel): + """ + MarketingInfo + """ # noqa: E501 + logo: Optional[StrictStr] = Field(default=None, description="Logo file name") + promotion: Optional[StrictBool] = Field(default=None, description="Profile promotion on marketplace") + process_steps: Optional[Annotated[List[ProcessStep], Field(max_length=3)]] = Field(default=None, alias="processSteps") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["logo", "promotion", "processSteps"] + + 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 MarketingInfo 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in process_steps (list) + _items = [] + if self.process_steps: + for _item in self.process_steps: + if _item: + _items.append(_item.to_dict()) + _dict['processSteps'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MarketingInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "logo": obj.get("logo"), + "promotion": obj.get("promotion"), + "processSteps": [ProcessStep.from_dict(_item) for _item in obj["processSteps"]] if obj.get("processSteps") is not None else None + }) + # 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/md5.py b/equinix/services/fabricv4/models/md5.py new file mode 100644 index 00000000..252dbfcb --- /dev/null +++ b/equinix/services/fabricv4/models/md5.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.md5_type import Md5Type +from typing import Optional, Set +from typing_extensions import Self + +class Md5(BaseModel): + """ + Md5 + """ # noqa: E501 + type: Optional[Md5Type] = None + id: Optional[StrictStr] = None + password: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "password"] + + 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 Md5 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 Md5 from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "password": obj.get("password") + }) + # 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/md5_type.py b/equinix/services/fabricv4/models/md5_type.py new file mode 100644 index 00000000..39ba187b --- /dev/null +++ b/equinix/services/fabricv4/models/md5_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Md5Type(str, Enum): + """ + Md5Type + """ + + """ + allowed enum values + """ + ASCII = 'ASCII' + HEX = 'HEX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Md5Type from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/metal_interconnection.py b/equinix/services/fabricv4/models/metal_interconnection.py new file mode 100644 index 00000000..c385c147 --- /dev/null +++ b/equinix/services/fabricv4/models/metal_interconnection.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 MetalInterconnection(BaseModel): + """ + Metal Interconnection + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Equinix Metal Interconnection") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid"] + + 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 MetalInterconnection 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 MetalInterconnection from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid") + }) + # 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/metric_interval.py b/equinix/services/fabricv4/models/metric_interval.py new file mode 100644 index 00000000..c32bc374 --- /dev/null +++ b/equinix/services/fabricv4/models/metric_interval.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 MetricInterval(str, Enum): + """ + metric interval + """ + + """ + allowed enum values + """ + P7D = 'P7D' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MetricInterval from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/metrics.py b/equinix/services/fabricv4/models/metrics.py new file mode 100644 index 00000000..abf28450 --- /dev/null +++ b/equinix/services/fabricv4/models/metrics.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing import Optional, Set +from typing_extensions import Self + +class Metrics(BaseModel): + """ + Bandwidth utilization statistics for a specified interval. + """ # noqa: E501 + interval_end_timestamp: Optional[datetime] = Field(default=None, description="Interval end timestamp", alias="intervalEndTimestamp") + max: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Max bandwidth within statistics object time interval, represented in units specified by response \"units\" field") + mean: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Mean bandwidth within statistics object time interval, represented in units specified by response \"units\" field") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["intervalEndTimestamp", "max", "mean"] + + 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 Metrics 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 Metrics from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "intervalEndTimestamp": obj.get("intervalEndTimestamp"), + "max": obj.get("max"), + "mean": obj.get("mean") + }) + # 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/metro.py b/equinix/services/fabricv4/models/metro.py new file mode 100644 index 00000000..cb4bd9d7 --- /dev/null +++ b/equinix/services/fabricv4/models/metro.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connected_metro import ConnectedMetro +from equinix.services.fabricv4.models.geo_coordinates import GeoCoordinates +from equinix.services.fabricv4.models.geo_scope_type import GeoScopeType +from typing import Optional, Set +from typing_extensions import Self + +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. + """ # 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") + code: Optional[StrictStr] = Field(default=None, description="Code Assigned to an Equinix IBX data center in a specified metropolitan area.") + region: Optional[StrictStr] = Field(default=None, description="Board geographic area in which the data center is located") + name: Optional[StrictStr] = Field(default=None, description="Name of the region in which the data center is located.") + equinix_asn: Optional[StrictInt] = Field(default=None, description="Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol.", alias="equinixAsn") + local_vc_bandwidth_max: Optional[StrictInt] = Field(default=None, description="This field holds Max Connection speed with in the metro", alias="localVCBandwidthMax") + geo_coordinates: Optional[GeoCoordinates] = Field(default=None, alias="geoCoordinates") + connected_metros: Optional[List[ConnectedMetro]] = Field(default=None, alias="connectedMetros") + geo_scopes: Optional[List[GeoScopeType]] = Field(default=None, description="List of supported geographic boundaries of a Fabric Metro.", alias="geoScopes") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "code", "region", "name", "equinixAsn", "localVCBandwidthMax", "geoCoordinates", "connectedMetros", "geoScopes"] + + 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 Metro 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, + ) + # override the default output from pydantic by calling `to_dict()` of geo_coordinates + if self.geo_coordinates: + _dict['geoCoordinates'] = self.geo_coordinates.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in connected_metros (list) + _items = [] + if self.connected_metros: + for _item in self.connected_metros: + if _item: + _items.append(_item.to_dict()) + _dict['connectedMetros'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Metro 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"), + "type": obj.get("type"), + "code": obj.get("code"), + "region": obj.get("region"), + "name": obj.get("name"), + "equinixAsn": obj.get("equinixAsn"), + "localVCBandwidthMax": obj.get("localVCBandwidthMax"), + "geoCoordinates": GeoCoordinates.from_dict(obj["geoCoordinates"]) if obj.get("geoCoordinates") is not None else None, + "connectedMetros": [ConnectedMetro.from_dict(_item) for _item in obj["connectedMetros"]] if obj.get("connectedMetros") is not None else None, + "geoScopes": obj.get("geoScopes") + }) + # 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/metro_error.py b/equinix/services/fabricv4/models/metro_error.py new file mode 100644 index 00000000..43dc5e25 --- /dev/null +++ b/equinix/services/fabricv4/models/metro_error.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.metro_error_error_code import MetroErrorErrorCode +from equinix.services.fabricv4.models.metro_error_error_message import MetroErrorErrorMessage +from equinix.services.fabricv4.models.price_error_additional_info import PriceErrorAdditionalInfo +from typing import Optional, Set +from typing_extensions import Self + +class MetroError(BaseModel): + """ + Error with details + """ # noqa: E501 + error_code: MetroErrorErrorCode = Field(alias="errorCode") + error_message: MetroErrorErrorMessage = Field(alias="errorMessage") + correlation_id: Optional[StrictStr] = Field(default=None, alias="correlationId") + details: Optional[StrictStr] = None + help: Optional[StrictStr] = None + additional_info: Optional[List[PriceErrorAdditionalInfo]] = Field(default=None, alias="additionalInfo") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["errorCode", "errorMessage", "correlationId", "details", "help", "additionalInfo"] + + 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 MetroError 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MetroError from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "errorMessage": obj.get("errorMessage"), + "correlationId": obj.get("correlationId"), + "details": obj.get("details"), + "help": obj.get("help"), + "additionalInfo": [PriceErrorAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None + }) + # 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/metro_error_error_code.py b/equinix/services/fabricv4/models/metro_error_error_code.py new file mode 100644 index 00000000..7ec90f67 --- /dev/null +++ b/equinix/services/fabricv4/models/metro_error_error_code.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 MetroErrorErrorCode(str, Enum): + """ + MetroErrorErrorCode + """ + + """ + allowed enum values + """ + EQ_MINUS_3036001 = 'EQ-3036001' + EQ_MINUS_3036013 = 'EQ-3036013' + EQ_MINUS_3036030 = 'EQ-3036030' + EQ_MINUS_3036100 = 'EQ-3036100' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MetroErrorErrorCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/metro_error_error_message.py b/equinix/services/fabricv4/models/metro_error_error_message.py new file mode 100644 index 00000000..5f44395e --- /dev/null +++ b/equinix/services/fabricv4/models/metro_error_error_message.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 MetroErrorErrorMessage(str, Enum): + """ + MetroErrorErrorMessage + """ + + """ + allowed enum values + """ + UNAUTHORIZED = 'Unauthorized' + INVALID_QUERY_PARAMETER = 'Invalid Query Parameter' + INVALID_PATH_PARAMETER = 'Invalid Path Parameter' + INVALID_QUERY_OR_PATH_PARAMETER = 'Invalid Query or Path Parameter' + INTERNAL_SERVER_ERROR = 'Internal Server Error' + METRO_NOT_FOUND = 'Metro Not Found' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of MetroErrorErrorMessage from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/metro_response.py b/equinix/services/fabricv4/models/metro_response.py new file mode 100644 index 00000000..59a1e65c --- /dev/null +++ b/equinix/services/fabricv4/models/metro_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.metro import Metro +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +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. + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[Metro]] = Field(default=None, description="List of Fabric Metros.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 MetroResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of MetroResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [Metro.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/network.py b/equinix/services/fabricv4/models/network.py new file mode 100644 index 00000000..07242830 --- /dev/null +++ b/equinix/services/fabricv4/models/network.py @@ -0,0 +1,176 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.link import Link +from equinix.services.fabricv4.models.network_operation import NetworkOperation +from equinix.services.fabricv4.models.network_scope import NetworkScope +from equinix.services.fabricv4.models.network_state import NetworkState +from equinix.services.fabricv4.models.network_type import NetworkType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from equinix.services.fabricv4.models.simplified_network_change import SimplifiedNetworkChange +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class Network(BaseModel): + """ + Network specification + """ # noqa: E501 + type: NetworkType + name: StrictStr = Field(description="Customer-provided network name") + scope: NetworkScope + location: Optional[SimplifiedLocation] = None + project: Optional[Project] = None + notifications: List[SimplifiedNotification] = Field(description="Preferences for notifications on network configuration or status changes") + href: StrictStr = Field(description="Network URI") + uuid: StrictStr = Field(description="Equinix-assigned network identifier") + state: NetworkState + connections_count: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="number of connections created on the network", alias="connectionsCount") + account: Optional[SimplifiedAccount] = None + change: Optional[SimplifiedNetworkChange] = None + operation: Optional[NetworkOperation] = None + change_log: Changelog = Field(alias="changeLog") + links: Optional[List[Link]] = Field(default=None, description="Network sub-resources links") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "scope", "location", "project", "notifications", "href", "uuid", "state", "connectionsCount", "account", "change", "operation", "changeLog", "links"] + + 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 Network 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "links", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.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 operation + if self.operation: + _dict['operation'] = self.operation.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() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Network from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "scope": obj.get("scope"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "state": obj.get("state"), + "connectionsCount": obj.get("connectionsCount"), + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "change": SimplifiedNetworkChange.from_dict(obj["change"]) if obj.get("change") is not None else None, + "operation": NetworkOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "changeLog": Changelog.from_dict(obj["changeLog"]) if obj.get("changeLog") is not None else None, + "links": [Link.from_dict(_item) for _item in obj["links"]] if obj.get("links") is not None else None + }) + # 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/network_change.py b/equinix/services/fabricv4/models/network_change.py new file mode 100644 index 00000000..fbe6d5ba --- /dev/null +++ b/equinix/services/fabricv4/models/network_change.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation +from equinix.services.fabricv4.models.network_change_status import NetworkChangeStatus +from equinix.services.fabricv4.models.network_change_type import NetworkChangeType +from typing import Optional, Set +from typing_extensions import Self + +class NetworkChange(BaseModel): + """ + Current state of latest network change + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Network URI") + uuid: Optional[StrictStr] = Field(default=None, description="Uniquely identifies a change") + type: Optional[NetworkChangeType] = None + status: Optional[NetworkChangeStatus] = None + created_date_time: Optional[datetime] = Field(default=None, description="Set when change flow starts", alias="createdDateTime") + updated_date_time: Optional[datetime] = Field(default=None, description="Set when change object is updated", alias="updatedDateTime") + data: Optional[List[NetworkChangeOperation]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "status", "createdDateTime", "updatedDateTime", "data"] + + 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 NetworkChange 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkChange 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"), + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "status": obj.get("status"), + "createdDateTime": obj.get("createdDateTime"), + "updatedDateTime": obj.get("updatedDateTime"), + "data": [NetworkChangeOperation.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/network_change_operation.py b/equinix/services/fabricv4/models/network_change_operation.py new file mode 100644 index 00000000..a8ae13eb --- /dev/null +++ b/equinix/services/fabricv4/models/network_change_operation.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.precision_time_change_operation_op import PrecisionTimeChangeOperationOp +from typing import Optional, Set +from typing_extensions import Self + +class NetworkChangeOperation(BaseModel): + """ + Network change operation data + """ # noqa: E501 + op: PrecisionTimeChangeOperationOp + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: Optional[Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 NetworkChangeOperation 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 + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/network_change_response.py b/equinix/services/fabricv4/models/network_change_response.py new file mode 100644 index 00000000..cb21b315 --- /dev/null +++ b/equinix/services/fabricv4/models/network_change_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.network_change import NetworkChange +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class NetworkChangeResponse(BaseModel): + """ + List of network changes + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[NetworkChange]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 NetworkChangeResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkChangeResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [NetworkChange.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/network_change_status.py b/equinix/services/fabricv4/models/network_change_status.py new file mode 100644 index 00000000..0324b1d5 --- /dev/null +++ b/equinix/services/fabricv4/models/network_change_status.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkChangeStatus(str, Enum): + """ + Current outcome of the change flow + """ + + """ + allowed enum values + """ + APPROVED = 'APPROVED' + COMPLETED = 'COMPLETED' + FAILED = 'FAILED' + REJECTED = 'REJECTED' + REQUESTED = 'REQUESTED' + SUBMITTED_FOR_APPROVAL = 'SUBMITTED_FOR_APPROVAL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkChangeStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_change_type.py b/equinix/services/fabricv4/models/network_change_type.py new file mode 100644 index 00000000..5a595652 --- /dev/null +++ b/equinix/services/fabricv4/models/network_change_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkChangeType(str, Enum): + """ + Type of change + """ + + """ + allowed enum values + """ + NETWORK_CREATION = 'NETWORK_CREATION' + NETWORK_UPDATE = 'NETWORK_UPDATE' + NETWORK_DELETION = 'NETWORK_DELETION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkChangeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_connections.py b/equinix/services/fabricv4/models/network_connections.py new file mode 100644 index 00000000..0e5835ac --- /dev/null +++ b/equinix/services/fabricv4/models/network_connections.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection import Connection +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class NetworkConnections(BaseModel): + """ + List of network changes + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[Connection]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 NetworkConnections 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkConnections from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [Connection.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/network_equinix_status.py b/equinix/services/fabricv4/models/network_equinix_status.py new file mode 100644 index 00000000..46ef07df --- /dev/null +++ b/equinix/services/fabricv4/models/network_equinix_status.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkEquinixStatus(str, Enum): + """ + Network status + """ + + """ + allowed enum values + """ + PROVISIONING = 'PROVISIONING' + PROVISIONED = 'PROVISIONED' + NOT_PROVISIONED = 'NOT_PROVISIONED' + DEPROVISIONING = 'DEPROVISIONING' + DEPROVISIONED = 'DEPROVISIONED' + NOT_DEPROVISIONED = 'NOT_DEPROVISIONED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkEquinixStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_filter.py b/equinix/services/fabricv4/models/network_filter.py new file mode 100644 index 00000000..c495f5d7 --- /dev/null +++ b/equinix/services/fabricv4/models/network_filter.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.network_filter_operator import NetworkFilterOperator +from equinix.services.fabricv4.models.network_search_field_name import NetworkSearchFieldName +from typing import Optional, Set +from typing_extensions import Self + +class NetworkFilter(BaseModel): + """ + NetworkFilter + """ # noqa: E501 + var_and: Optional[List[NetworkFilter]] = Field(default=None, alias="and") + var_or: Optional[List[NetworkFilter]] = Field(default=None, alias="or") + var_property: Optional[NetworkSearchFieldName] = Field(default=None, alias="property") + operator: Optional[NetworkFilterOperator] = None + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and", "or", "property", "operator", "values"] + + 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 NetworkFilter 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in var_or (list) + _items = [] + if self.var_or: + for _item in self.var_or: + if _item: + _items.append(_item.to_dict()) + _dict['or'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [NetworkFilter.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None, + "or": [NetworkFilter.from_dict(_item) for _item in obj["or"]] if obj.get("or") is not None else None, + "property": obj.get("property"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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 + +# TODO: Rewrite to not use raise_errors +NetworkFilter.model_rebuild(raise_errors=False) + diff --git a/equinix/services/fabricv4/models/network_filter_operator.py b/equinix/services/fabricv4/models/network_filter_operator.py new file mode 100644 index 00000000..dea2f2ab --- /dev/null +++ b/equinix/services/fabricv4/models/network_filter_operator.py @@ -0,0 +1,50 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkFilterOperator(str, Enum): + """ + NetworkFilterOperator + """ + + """ + allowed enum values + """ + EQUAL = '=' + EXCLAMATION_EQUAL = '!=' + GREATER_THAN = '>' + GREATER_THAN_EQUAL = '>=' + LESS_THAN = '<' + LESS_THAN_EQUAL = '<=' + BETWEEN = 'BETWEEN' + NOT_BETWEEN = 'NOT BETWEEN' + LIKE = 'LIKE' + NOT_LIKE = 'NOT LIKE' + ILIKE = 'ILIKE' + NOT_ILIKE = 'NOT ILIKE' + IN = 'IN' + NOT_IN = 'NOT IN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkFilterOperator from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_operation.py b/equinix/services/fabricv4/models/network_operation.py new file mode 100644 index 00000000..f84d65b9 --- /dev/null +++ b/equinix/services/fabricv4/models/network_operation.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.network_equinix_status import NetworkEquinixStatus +from typing import Optional, Set +from typing_extensions import Self + +class NetworkOperation(BaseModel): + """ + Network operational data + """ # noqa: E501 + equinix_status: Optional[NetworkEquinixStatus] = Field(default=None, alias="equinixStatus") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["equinixStatus"] + + 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 NetworkOperation 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 NetworkOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "equinixStatus": obj.get("equinixStatus") + }) + # 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/network_post_request.py b/equinix/services/fabricv4/models/network_post_request.py new file mode 100644 index 00000000..a96a89c1 --- /dev/null +++ b/equinix/services/fabricv4/models/network_post_request.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.network_scope import NetworkScope +from equinix.services.fabricv4.models.network_type import NetworkType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class NetworkPostRequest(BaseModel): + """ + Create Network + """ # noqa: E501 + type: NetworkType + name: StrictStr = Field(description="Customer-provided network name") + scope: NetworkScope + location: Optional[SimplifiedLocation] = None + project: Optional[Project] = None + notifications: List[SimplifiedNotification] = Field(description="Preferences for notifications on network configuration or status changes") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "scope", "location", "project", "notifications"] + + 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 NetworkPostRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "scope": obj.get("scope"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None + }) + # 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/network_scope.py b/equinix/services/fabricv4/models/network_scope.py new file mode 100644 index 00000000..1c763931 --- /dev/null +++ b/equinix/services/fabricv4/models/network_scope.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkScope(str, Enum): + """ + Network scope + """ + + """ + allowed enum values + """ + REGIONAL = 'REGIONAL' + GLOBAL = 'GLOBAL' + LOCAL = 'LOCAL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkScope from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_search_field_name.py b/equinix/services/fabricv4/models/network_search_field_name.py new file mode 100644 index 00000000..7c2beafb --- /dev/null +++ b/equinix/services/fabricv4/models/network_search_field_name.py @@ -0,0 +1,47 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkSearchFieldName(str, Enum): + """ + Possible field names to use on filters + """ + + """ + allowed enum values + """ + SLASH_NAME = '/name' + SLASH_UUID = '/uuid' + SLASH_SCOPE = '/scope' + SLASH_TYPE = '/type' + SLASH_OPERATION_SLASH_EQUINIX_STATUS = '/operation/equinixStatus' + SLASH_LOCATION_SLASH_REGION = '/location/region' + SLASH_PROJECT_SLASH_PROJECT_ID = '/project/projectId' + SLASH_ACCOUNT_SLASH_GLOBAL_CUST_ID = '/account/globalCustId' + SLASH_ACCOUNT_SLASH_ORG_ID = '/account/orgId' + SLASH_DELETED_DATE = '/deletedDate' + SLASH_STAR = '/*' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkSearchFieldName from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_search_request.py b/equinix/services/fabricv4/models/network_search_request.py new file mode 100644 index 00000000..9551261d --- /dev/null +++ b/equinix/services/fabricv4/models/network_search_request.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.network_filter import NetworkFilter +from equinix.services.fabricv4.models.network_sort_criteria import NetworkSortCriteria +from equinix.services.fabricv4.models.pagination_request import PaginationRequest +from typing import Optional, Set +from typing_extensions import Self + +class NetworkSearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[NetworkFilter] = None + pagination: Optional[PaginationRequest] = None + sort: Optional[List[NetworkSortCriteria]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 NetworkSearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkSearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": NetworkFilter.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [NetworkSortCriteria.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/network_search_response.py b/equinix/services/fabricv4/models/network_search_response.py new file mode 100644 index 00000000..7a5e82bb --- /dev/null +++ b/equinix/services/fabricv4/models/network_search_response.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.network import Network +from equinix.services.fabricv4.models.network_sort_criteria_response import NetworkSortCriteriaResponse +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class NetworkSearchResponse(BaseModel): + """ + List of networks + """ # noqa: E501 + pagination: Optional[Pagination] = None + sort: Optional[List[NetworkSortCriteriaResponse]] = None + data: Optional[List[Network]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "sort", "data"] + + 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 NetworkSearchResponse 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, + ) + # 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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of NetworkSearchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [NetworkSortCriteriaResponse.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None, + "data": [Network.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/network_sort_by.py b/equinix/services/fabricv4/models/network_sort_by.py new file mode 100644 index 00000000..11e3aba0 --- /dev/null +++ b/equinix/services/fabricv4/models/network_sort_by.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkSortBy(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_NAME = '/name' + SLASH_UUID = '/uuid' + SLASH_SCOPE = '/scope' + SLASH_OPERATION_SLASH_EQUINIX_STATUS = '/operation/equinixStatus' + SLASH_LOCATION_SLASH_REGION = '/location/region' + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkSortBy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_sort_by_response.py b/equinix/services/fabricv4/models/network_sort_by_response.py new file mode 100644 index 00000000..40341069 --- /dev/null +++ b/equinix/services/fabricv4/models/network_sort_by_response.py @@ -0,0 +1,44 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkSortByResponse(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_NAME = '/name' + SLASH_TYPE = '/type' + SLASH_UUID = '/uuid' + SLASH_STATE = '/state' + SLASH_SCOPE = '/scope' + SLASH_LOCATION_SLASH_REGION = '/location/region' + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkSortByResponse from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_sort_criteria.py b/equinix/services/fabricv4/models/network_sort_criteria.py new file mode 100644 index 00000000..367ba917 --- /dev/null +++ b/equinix/services/fabricv4/models/network_sort_criteria.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.network_sort_by import NetworkSortBy +from equinix.services.fabricv4.models.network_sort_direction import NetworkSortDirection +from typing import Optional, Set +from typing_extensions import Self + +class NetworkSortCriteria(BaseModel): + """ + NetworkSortCriteria + """ # noqa: E501 + direction: Optional[NetworkSortDirection] = None + var_property: Optional[NetworkSortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 NetworkSortCriteria 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 NetworkSortCriteria from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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/network_sort_criteria_response.py b/equinix/services/fabricv4/models/network_sort_criteria_response.py new file mode 100644 index 00000000..70832b3b --- /dev/null +++ b/equinix/services/fabricv4/models/network_sort_criteria_response.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.network_sort_by_response import NetworkSortByResponse +from equinix.services.fabricv4.models.network_sort_direction_response import NetworkSortDirectionResponse +from typing import Optional, Set +from typing_extensions import Self + +class NetworkSortCriteriaResponse(BaseModel): + """ + NetworkSortCriteriaResponse + """ # noqa: E501 + direction: Optional[NetworkSortDirectionResponse] = None + var_property: Optional[NetworkSortByResponse] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 NetworkSortCriteriaResponse 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 NetworkSortCriteriaResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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/network_sort_direction.py b/equinix/services/fabricv4/models/network_sort_direction.py new file mode 100644 index 00000000..30b7f138 --- /dev/null +++ b/equinix/services/fabricv4/models/network_sort_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkSortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkSortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_sort_direction_response.py b/equinix/services/fabricv4/models/network_sort_direction_response.py new file mode 100644 index 00000000..8d392536 --- /dev/null +++ b/equinix/services/fabricv4/models/network_sort_direction_response.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkSortDirectionResponse(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkSortDirectionResponse from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_state.py b/equinix/services/fabricv4/models/network_state.py new file mode 100644 index 00000000..aa2088f3 --- /dev/null +++ b/equinix/services/fabricv4/models/network_state.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkState(str, Enum): + """ + Network status + """ + + """ + allowed enum values + """ + ACTIVE = 'ACTIVE' + INACTIVE = 'INACTIVE' + DELETED = 'DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/network_type.py b/equinix/services/fabricv4/models/network_type.py new file mode 100644 index 00000000..16076a2f --- /dev/null +++ b/equinix/services/fabricv4/models/network_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 NetworkType(str, Enum): + """ + Network type + """ + + """ + allowed enum values + """ + EVPLAN = 'EVPLAN' + EPLAN = 'EPLAN' + IPWAN = 'IPWAN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of NetworkType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/op_enum.py b/equinix/services/fabricv4/models/op_enum.py new file mode 100644 index 00000000..e2c1fd07 --- /dev/null +++ b/equinix/services/fabricv4/models/op_enum.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 OpEnum(str, Enum): + """ + the operation to be performed + """ + + """ + allowed enum values + """ + ADD = 'add' + REMOVE = 'remove' + REPLACE = 'replace' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of OpEnum from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/order.py b/equinix/services/fabricv4/models/order.py new file mode 100644 index 00000000..ea1106aa --- /dev/null +++ b/equinix/services/fabricv4/models/order.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Order(BaseModel): + """ + Order + """ # noqa: E501 + purchase_order_number: Optional[StrictStr] = Field(default=None, description="Purchase order number", alias="purchaseOrderNumber") + customer_reference_number: Optional[StrictStr] = Field(default=None, description="Customer reference number", alias="customerReferenceNumber") + billing_tier: Optional[StrictStr] = Field(default=None, description="Billing tier for connection bandwidth", alias="billingTier") + order_id: Optional[StrictStr] = Field(default=None, description="Order Identification", alias="orderId") + order_number: Optional[StrictStr] = Field(default=None, description="Order Reference Number", alias="orderNumber") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["purchaseOrderNumber", "customerReferenceNumber", "billingTier", "orderId", "orderNumber"] + + 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 Order 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 Order from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "purchaseOrderNumber": obj.get("purchaseOrderNumber"), + "customerReferenceNumber": obj.get("customerReferenceNumber"), + "billingTier": obj.get("billingTier"), + "orderId": obj.get("orderId"), + "orderNumber": obj.get("orderNumber") + }) + # 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/package_change_log.py b/equinix/services/fabricv4/models/package_change_log.py new file mode 100644 index 00000000..efff7eb0 --- /dev/null +++ b/equinix/services/fabricv4/models/package_change_log.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PackageChangeLog(BaseModel): + """ + Cloud Router package change log + """ # noqa: E501 + created_date_time: Optional[datetime] = Field(default=None, alias="createdDateTime") + updated_date_time: Optional[datetime] = Field(default=None, alias="updatedDateTime") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["createdDateTime", "updatedDateTime"] + + 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 PackageChangeLog 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 PackageChangeLog from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdDateTime": obj.get("createdDateTime"), + "updatedDateTime": obj.get("updatedDateTime") + }) + # 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/package_response.py b/equinix/services/fabricv4/models/package_response.py new file mode 100644 index 00000000..e5c21884 --- /dev/null +++ b/equinix/services/fabricv4/models/package_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class PackageResponse(BaseModel): + """ + PackageResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[CloudRouterPackage]] = Field(default=None, description="Data returned from the API call.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 PackageResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PackageResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [CloudRouterPackage.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/pagination.py b/equinix/services/fabricv4/models/pagination.py new file mode 100644 index 00000000..c50819be --- /dev/null +++ b/equinix/services/fabricv4/models/pagination.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class Pagination(BaseModel): + """ + Pagination response information + """ # noqa: E501 + offset: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, description="Index of the first item returned in the response. The default is 0.") + limit: Annotated[int, Field(strict=True, ge=0)] = Field(description="Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20.") + total: Annotated[int, Field(strict=True, ge=0)] = Field(description="Total number of elements returned.") + next: Optional[StrictStr] = Field(default=None, description="URL relative to the next item in the response.") + previous: Optional[StrictStr] = Field(default=None, description="URL relative to the previous item in the response.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["offset", "limit", "total", "next", "previous"] + + 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 Pagination 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 Pagination from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "offset": obj.get("offset") if obj.get("offset") is not None else 0, + "limit": obj.get("limit") if obj.get("limit") is not None else 20, + "total": obj.get("total"), + "next": obj.get("next"), + "previous": obj.get("previous") + }) + # 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/pagination_request.py b/equinix/services/fabricv4/models/pagination_request.py new file mode 100644 index 00000000..64ce549a --- /dev/null +++ b/equinix/services/fabricv4/models/pagination_request.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from typing import Optional, Set +from typing_extensions import Self + +class PaginationRequest(BaseModel): + """ + Pagination request information + """ # noqa: E501 + offset: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=0, description="Index of the first element.") + limit: Optional[Annotated[int, Field(strict=True, ge=1)]] = Field(default=20, description="Number of elements to be requested per page. Number must be between 1 and 100, and the default is 20.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["offset", "limit"] + + 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 PaginationRequest 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 PaginationRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "offset": obj.get("offset") if obj.get("offset") is not None else 0, + "limit": obj.get("limit") if obj.get("limit") is not None else 20 + }) + # 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/peering_type.py b/equinix/services/fabricv4/models/peering_type.py new file mode 100644 index 00000000..51ff5e50 --- /dev/null +++ b/equinix/services/fabricv4/models/peering_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PeeringType(str, Enum): + """ + Access point peering type + """ + + """ + allowed enum values + """ + PRIVATE = 'PRIVATE' + MICROSOFT = 'MICROSOFT' + PUBLIC = 'PUBLIC' + MANUAL = 'MANUAL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PeeringType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/physical_port.py b/equinix/services/fabricv4/models/physical_port.py new file mode 100644 index 00000000..44c413b1 --- /dev/null +++ b/equinix/services/fabricv4/models/physical_port.py @@ -0,0 +1,166 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.physical_port_type import PhysicalPortType +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint +from equinix.services.fabricv4.models.port_loa import PortLoa +from equinix.services.fabricv4.models.port_operation import PortOperation +from equinix.services.fabricv4.models.port_order import PortOrder +from equinix.services.fabricv4.models.port_state import PortState +from equinix.services.fabricv4.models.port_tether import PortTether +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from typing import Optional, Set +from typing_extensions import Self + +class PhysicalPort(BaseModel): + """ + Physical Port specification + """ # noqa: E501 + type: Optional[PhysicalPortType] = None + id: Optional[StrictInt] = Field(default=None, description="Equinix assigned response attribute for Physical Port Id") + href: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for an absolute URL that is the subject of the link's context.") + state: Optional[PortState] = None + account: Optional[SimplifiedAccount] = None + interface_speed: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Physical Port Speed in Mbps", alias="interfaceSpeed") + interface_type: Optional[StrictStr] = Field(default=None, description="Physical Port Interface Type", alias="interfaceType") + tether: Optional[PortTether] = None + demarcation_point: Optional[PortDemarcationPoint] = Field(default=None, alias="demarcationPoint") + additional_info: Optional[List[PortAdditionalInfo]] = Field(default=None, description="Physical Port additional information", alias="additionalInfo") + order: Optional[PortOrder] = None + operation: Optional[PortOperation] = None + loas: Optional[List[PortLoa]] = Field(default=None, description="Port Loas") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "href", "state", "account", "interfaceSpeed", "interfaceType", "tether", "demarcationPoint", "additionalInfo", "order", "operation", "loas"] + + 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 PhysicalPort 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of tether + if self.tether: + _dict['tether'] = self.tether.to_dict() + # override the default output from pydantic by calling `to_dict()` of demarcation_point + if self.demarcation_point: + _dict['demarcationPoint'] = self.demarcation_point.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in loas (list) + _items = [] + if self.loas: + for _item in self.loas: + if _item: + _items.append(_item.to_dict()) + _dict['loas'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PhysicalPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "href": obj.get("href"), + "state": obj.get("state"), + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "interfaceSpeed": obj.get("interfaceSpeed"), + "interfaceType": obj.get("interfaceType"), + "tether": PortTether.from_dict(obj["tether"]) if obj.get("tether") is not None else None, + "demarcationPoint": PortDemarcationPoint.from_dict(obj["demarcationPoint"]) if obj.get("demarcationPoint") is not None else None, + "additionalInfo": [PortAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None, + "order": PortOrder.from_dict(obj["order"]) if obj.get("order") is not None else None, + "operation": PortOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "loas": [PortLoa.from_dict(_item) for _item in obj["loas"]] if obj.get("loas") is not None else None + }) + # 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/physical_port_type.py b/equinix/services/fabricv4/models/physical_port_type.py new file mode 100644 index 00000000..ba316829 --- /dev/null +++ b/equinix/services/fabricv4/models/physical_port_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PhysicalPortType(str, Enum): + """ + Type of Port + """ + + """ + allowed enum values + """ + XF_PHYSICAL_PORT = 'XF_PHYSICAL_PORT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PhysicalPortType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port.py b/equinix/services/fabricv4/models/port.py new file mode 100644 index 00000000..6ac9a703 --- /dev/null +++ b/equinix/services/fabricv4/models/port.py @@ -0,0 +1,272 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint +from equinix.services.fabricv4.models.port_device import PortDevice +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation +from equinix.services.fabricv4.models.port_interface import PortInterface +from equinix.services.fabricv4.models.port_lag import PortLag +from equinix.services.fabricv4.models.port_loa import PortLoa +from equinix.services.fabricv4.models.port_notification import PortNotification +from equinix.services.fabricv4.models.port_operation import PortOperation +from equinix.services.fabricv4.models.port_order import PortOrder +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy +from equinix.services.fabricv4.models.port_response_bmmr_type import PortResponseBmmrType +from equinix.services.fabricv4.models.port_response_connectivity_source_type import PortResponseConnectivitySourceType +from equinix.services.fabricv4.models.port_response_physical_ports_type import PortResponsePhysicalPortsType +from equinix.services.fabricv4.models.port_response_service_type import PortResponseServiceType +from equinix.services.fabricv4.models.port_settings import PortSettings +from equinix.services.fabricv4.models.port_state import PortState +from equinix.services.fabricv4.models.port_type import PortType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account_port_response import SimplifiedAccountPortResponse +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from typing import Optional, Set +from typing_extensions import Self + +class Port(BaseModel): + """ + Port is the Request Object for Creating Fabric Ports + """ # noqa: E501 + type: PortType + id: Optional[StrictInt] = Field(default=None, description="Equinix assigned response attribute for Port Id") + href: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for an absolute URL that is the subject of the link's context.") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for port identifier") + name: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Port name") + description: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Port description") + physical_ports_speed: Annotated[int, Field(strict=True, ge=0)] = Field(description="Physical Ports Speed in Mbps", alias="physicalPortsSpeed") + connections_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Connection count", alias="connectionsCount") + physical_ports_type: PortResponsePhysicalPortsType = Field(alias="physicalPortsType") + physical_ports_count: Optional[StrictInt] = Field(default=None, alias="physicalPortsCount") + connectivity_source_type: PortResponseConnectivitySourceType = Field(alias="connectivitySourceType") + bmmr_type: Optional[PortResponseBmmrType] = Field(default=None, alias="bmmrType") + project: Optional[Project] = None + state: Optional[PortState] = None + order: Optional[PortOrder] = None + cvp_id: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Unique ID for a virtual port.", alias="cvpId") + operation: Optional[PortOperation] = None + account: SimplifiedAccountPortResponse + changelog: Optional[Changelog] = None + service_type: Optional[PortResponseServiceType] = Field(default=None, alias="serviceType") + bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port bandwidth in Mbps") + available_bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port available bandwidth in Mbps", alias="availableBandwidth") + used_bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port used bandwidth in Mbps", alias="usedBandwidth") + location: SimplifiedLocation + device: Optional[PortDevice] = None + interface: Optional[PortInterface] = None + demarcation_point_ibx: Optional[StrictStr] = Field(default=None, description="A-side/Equinix ibx", alias="demarcationPointIbx") + tether_ibx: Optional[StrictStr] = Field(default=None, description="z-side/Equinix ibx", alias="tetherIbx") + demarcation_point: Optional[PortDemarcationPoint] = Field(default=None, alias="demarcationPoint") + redundancy: Optional[PortRedundancy] = None + encapsulation: PortEncapsulation + lag_enabled: Optional[StrictBool] = Field(default=None, description="If LAG enabled", alias="lagEnabled") + lag: Optional[PortLag] = None + asn: Optional[StrictInt] = Field(default=None, description="Port ASN") + settings: PortSettings + physical_port_quantity: Optional[StrictInt] = Field(default=None, description="Number of physical ports", alias="physicalPortQuantity") + notifications: Optional[List[PortNotification]] = Field(default=None, description="Notification preferences") + additional_info: Optional[List[PortAdditionalInfo]] = Field(default=None, description="Port additional information", alias="additionalInfo") + physical_ports: Optional[List[PhysicalPort]] = Field(default=None, description="Physical ports that implement this port", alias="physicalPorts") + loas: Optional[List[PortLoa]] = Field(default=None, description="Port Loas") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "href", "uuid", "name", "description", "physicalPortsSpeed", "connectionsCount", "physicalPortsType", "physicalPortsCount", "connectivitySourceType", "bmmrType", "project", "state", "order", "cvpId", "operation", "account", "changelog", "serviceType", "bandwidth", "availableBandwidth", "usedBandwidth", "location", "device", "interface", "demarcationPointIbx", "tetherIbx", "demarcationPoint", "redundancy", "encapsulation", "lagEnabled", "lag", "asn", "settings", "physicalPortQuantity", "notifications", "additionalInfo", "physicalPorts", "loas"] + + 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 Port 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.to_dict() + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of changelog + if self.changelog: + _dict['changelog'] = self.changelog.to_dict() + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of device + if self.device: + _dict['device'] = self.device.to_dict() + # override the default output from pydantic by calling `to_dict()` of interface + if self.interface: + _dict['interface'] = self.interface.to_dict() + # override the default output from pydantic by calling `to_dict()` of demarcation_point + if self.demarcation_point: + _dict['demarcationPoint'] = self.demarcation_point.to_dict() + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.to_dict() + # override the default output from pydantic by calling `to_dict()` of encapsulation + if self.encapsulation: + _dict['encapsulation'] = self.encapsulation.to_dict() + # override the default output from pydantic by calling `to_dict()` of lag + if self.lag: + _dict['lag'] = self.lag.to_dict() + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in physical_ports (list) + _items = [] + if self.physical_ports: + for _item in self.physical_ports: + if _item: + _items.append(_item.to_dict()) + _dict['physicalPorts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in loas (list) + _items = [] + if self.loas: + for _item in self.loas: + if _item: + _items.append(_item.to_dict()) + _dict['loas'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Port from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "physicalPortsSpeed": obj.get("physicalPortsSpeed"), + "connectionsCount": obj.get("connectionsCount"), + "physicalPortsType": obj.get("physicalPortsType"), + "physicalPortsCount": obj.get("physicalPortsCount"), + "connectivitySourceType": obj.get("connectivitySourceType"), + "bmmrType": obj.get("bmmrType"), + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "state": obj.get("state"), + "order": PortOrder.from_dict(obj["order"]) if obj.get("order") is not None else None, + "cvpId": obj.get("cvpId"), + "operation": PortOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "account": SimplifiedAccountPortResponse.from_dict(obj["account"]) if obj.get("account") is not None else None, + "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None, + "serviceType": obj.get("serviceType"), + "bandwidth": obj.get("bandwidth"), + "availableBandwidth": obj.get("availableBandwidth"), + "usedBandwidth": obj.get("usedBandwidth"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "device": PortDevice.from_dict(obj["device"]) if obj.get("device") is not None else None, + "interface": PortInterface.from_dict(obj["interface"]) if obj.get("interface") is not None else None, + "demarcationPointIbx": obj.get("demarcationPointIbx"), + "tetherIbx": obj.get("tetherIbx"), + "demarcationPoint": PortDemarcationPoint.from_dict(obj["demarcationPoint"]) if obj.get("demarcationPoint") is not None else None, + "redundancy": PortRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None, + "encapsulation": PortEncapsulation.from_dict(obj["encapsulation"]) if obj.get("encapsulation") is not None else None, + "lagEnabled": obj.get("lagEnabled"), + "lag": PortLag.from_dict(obj["lag"]) if obj.get("lag") is not None else None, + "asn": obj.get("asn"), + "settings": PortSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None, + "physicalPortQuantity": obj.get("physicalPortQuantity"), + "notifications": [PortNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "additionalInfo": [PortAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None, + "physicalPorts": [PhysicalPort.from_dict(_item) for _item in obj["physicalPorts"]] if obj.get("physicalPorts") is not None else None, + "loas": [PortLoa.from_dict(_item) for _item in obj["loas"]] if obj.get("loas") is not None else None + }) + # 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_additional_info.py b/equinix/services/fabricv4/models/port_additional_info.py new file mode 100644 index 00000000..10e7731e --- /dev/null +++ b/equinix/services/fabricv4/models/port_additional_info.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortAdditionalInfo(BaseModel): + """ + Additional information + """ # noqa: E501 + key: Optional[StrictStr] = Field(default=None, description="Key") + value: Optional[StrictStr] = Field(default=None, description="Value") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["key", "value"] + + 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 PortAdditionalInfo 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 PortAdditionalInfo from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "key": obj.get("key"), + "value": obj.get("value") + }) + # 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_demarcation_point.py b/equinix/services/fabricv4/models/port_demarcation_point.py new file mode 100644 index 00000000..40686a2f --- /dev/null +++ b/equinix/services/fabricv4/models/port_demarcation_point.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortDemarcationPoint(BaseModel): + """ + Customer physical Port + """ # noqa: E501 + cabinet_unique_space_id: Optional[StrictStr] = Field(default=None, description="Port cabinet unique space id", alias="cabinetUniqueSpaceId") + cage_unique_space_id: Optional[StrictStr] = Field(default=None, description="Port cage unique space id", alias="cageUniqueSpaceId") + patch_panel: Optional[StrictStr] = Field(default=None, description="Port patch panel", alias="patchPanel") + patch_panel_name: Optional[StrictStr] = Field(default=None, description="Port patch panel", alias="patchPanelName") + patch_panel_port_a: Optional[StrictStr] = Field(default=None, description="Port patch panel port A", alias="patchPanelPortA") + patch_panel_port_b: Optional[StrictStr] = Field(default=None, description="Port patch panel port B", alias="patchPanelPortB") + connector_type: Optional[StrictStr] = Field(default=None, description="Port connector type", alias="connectorType") + ibx: Optional[StrictStr] = Field(default=None, description="Port ibx identifier") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["cabinetUniqueSpaceId", "cageUniqueSpaceId", "patchPanel", "patchPanelName", "patchPanelPortA", "patchPanelPortB", "connectorType", "ibx"] + + 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 PortDemarcationPoint 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 PortDemarcationPoint from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cabinetUniqueSpaceId": obj.get("cabinetUniqueSpaceId"), + "cageUniqueSpaceId": obj.get("cageUniqueSpaceId"), + "patchPanel": obj.get("patchPanel"), + "patchPanelName": obj.get("patchPanelName"), + "patchPanelPortA": obj.get("patchPanelPortA"), + "patchPanelPortB": obj.get("patchPanelPortB"), + "connectorType": obj.get("connectorType"), + "ibx": obj.get("ibx") + }) + # 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_device.py b/equinix/services/fabricv4/models/port_device.py new file mode 100644 index 00000000..592c2fdf --- /dev/null +++ b/equinix/services/fabricv4/models/port_device.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_device_redundancy import PortDeviceRedundancy +from typing import Optional, Set +from typing_extensions import Self + +class PortDevice(BaseModel): + """ + Port device + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="Device name") + redundancy: Optional[PortDeviceRedundancy] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["name", "redundancy"] + + 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 PortDevice 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, + ) + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortDevice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "redundancy": PortDeviceRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None + }) + # 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_device_redundancy.py b/equinix/services/fabricv4/models/port_device_redundancy.py new file mode 100644 index 00000000..ff5ed808 --- /dev/null +++ b/equinix/services/fabricv4/models/port_device_redundancy.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_device_redundancy_priority import PortDeviceRedundancyPriority +from typing import Optional, Set +from typing_extensions import Self + +class PortDeviceRedundancy(BaseModel): + """ + Device redundancy + """ # noqa: E501 + group: Optional[StrictStr] = Field(default=None, description="Device redundancy group") + priority: Optional[PortDeviceRedundancyPriority] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["group", "priority"] + + 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 PortDeviceRedundancy 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 PortDeviceRedundancy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "group": obj.get("group"), + "priority": obj.get("priority") + }) + # 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_device_redundancy_priority.py b/equinix/services/fabricv4/models/port_device_redundancy_priority.py new file mode 100644 index 00000000..909cab48 --- /dev/null +++ b/equinix/services/fabricv4/models/port_device_redundancy_priority.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortDeviceRedundancyPriority(str, Enum): + """ + Device redundancy priority + """ + + """ + allowed enum values + """ + PRIMARY = 'PRIMARY' + SECONDARY = 'SECONDARY' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortDeviceRedundancyPriority from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_encapsulation.py b/equinix/services/fabricv4/models/port_encapsulation.py new file mode 100644 index 00000000..93df82df --- /dev/null +++ b/equinix/services/fabricv4/models/port_encapsulation.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_encapsulation_type import PortEncapsulationType +from typing import Optional, Set +from typing_extensions import Self + +class PortEncapsulation(BaseModel): + """ + Port encapsulation configuration + """ # noqa: E501 + type: Optional[PortEncapsulationType] = None + tag_protocol_id: Optional[StrictStr] = Field(default=None, description="Port encapsulation tag protocol identifier", alias="tagProtocolId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "tagProtocolId"] + + 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 PortEncapsulation 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 PortEncapsulation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "tagProtocolId": obj.get("tagProtocolId") + }) + # 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_encapsulation_type.py b/equinix/services/fabricv4/models/port_encapsulation_type.py new file mode 100644 index 00000000..37350cb8 --- /dev/null +++ b/equinix/services/fabricv4/models/port_encapsulation_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortEncapsulationType(str, Enum): + """ + Port encapsulation protocol type + """ + + """ + allowed enum values + """ + NULL = 'NULL' + DOT1Q = 'DOT1Q' + QINQ = 'QINQ' + UNTAGGED = 'UNTAGGED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortEncapsulationType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_expression.py b/equinix/services/fabricv4/models/port_expression.py new file mode 100644 index 00000000..1d0b0c4e --- /dev/null +++ b/equinix/services/fabricv4/models/port_expression.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_search_field_name import PortSearchFieldName +from equinix.services.fabricv4.models.service_token_search_expression_operator import ServiceTokenSearchExpressionOperator +from typing import Optional, Set +from typing_extensions import Self + +class PortExpression(BaseModel): + """ + PortExpression + """ # noqa: E501 + var_and: Optional[List[PortExpression]] = Field(default=None, alias="and") + var_or: Optional[List[PortExpression]] = Field(default=None, alias="or") + var_property: Optional[PortSearchFieldName] = Field(default=None, alias="property") + operator: Optional[ServiceTokenSearchExpressionOperator] = None + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and", "or", "property", "operator", "values"] + + 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 PortExpression 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in var_or (list) + _items = [] + if self.var_or: + for _item in self.var_or: + if _item: + _items.append(_item.to_dict()) + _dict['or'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortExpression from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [PortExpression.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None, + "or": [PortExpression.from_dict(_item) for _item in obj["or"]] if obj.get("or") is not None else None, + "property": obj.get("property"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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 + +# TODO: Rewrite to not use raise_errors +PortExpression.model_rebuild(raise_errors=False) + diff --git a/equinix/services/fabricv4/models/port_interface.py b/equinix/services/fabricv4/models/port_interface.py new file mode 100644 index 00000000..297676a4 --- /dev/null +++ b/equinix/services/fabricv4/models/port_interface.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortInterface(BaseModel): + """ + Port interface + """ # noqa: E501 + type: Optional[StrictStr] = Field(default=None, description="Port interface type") + if_index: Optional[StrictStr] = Field(default=None, description="Port interface index", alias="ifIndex") + name: Optional[StrictStr] = Field(default=None, description="Port interface name") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "ifIndex", "name"] + + 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 PortInterface 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 PortInterface from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "ifIndex": obj.get("ifIndex"), + "name": obj.get("name") + }) + # 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_lag.py b/equinix/services/fabricv4/models/port_lag.py new file mode 100644 index 00000000..81af1ebc --- /dev/null +++ b/equinix/services/fabricv4/models/port_lag.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PortLag(BaseModel): + """ + Port Lag + """ # noqa: E501 + id: Optional[StrictStr] = Field(default=None, description="id") + enabled: Optional[StrictBool] = Field(default=None, description="enabled") + name: Optional[StrictStr] = Field(default=None, description="name") + member_status: Optional[StrictStr] = Field(default=None, description="member status", alias="memberStatus") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["id", "enabled", "name", "memberStatus"] + + 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 PortLag 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 PortLag from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "id": obj.get("id"), + "enabled": obj.get("enabled"), + "name": obj.get("name"), + "memberStatus": obj.get("memberStatus") + }) + # 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_loa.py b/equinix/services/fabricv4/models/port_loa.py new file mode 100644 index 00000000..24758664 --- /dev/null +++ b/equinix/services/fabricv4/models/port_loa.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_loa_type import PortLoaType +from typing import Optional, Set +from typing_extensions import Self + +class PortLoa(BaseModel): + """ + Port Loas + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="uuid") + href: Optional[StrictStr] = Field(default=None, description="Loa uri.") + type: Optional[PortLoaType] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "href", "type"] + + 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 PortLoa 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 PortLoa from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "href": obj.get("href"), + "type": obj.get("type") + }) + # 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_loa_type.py b/equinix/services/fabricv4/models/port_loa_type.py new file mode 100644 index 00000000..e8bec60e --- /dev/null +++ b/equinix/services/fabricv4/models/port_loa_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortLoaType(str, Enum): + """ + Loa type + """ + + """ + allowed enum values + """ + CTR_LOA = 'CTR_LOA' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortLoaType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_notification.py b/equinix/services/fabricv4/models/port_notification.py new file mode 100644 index 00000000..a7dad633 --- /dev/null +++ b/equinix/services/fabricv4/models/port_notification.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.port_notification_type import PortNotificationType +from typing import Optional, Set +from typing_extensions import Self + +class PortNotification(BaseModel): + """ + PortNotification + """ # noqa: E501 + type: PortNotificationType + registered_users: List[StrictStr] = Field(description="Array of registered users", alias="registeredUsers") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "registeredUsers"] + + 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 PortNotification 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 PortNotification from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "registeredUsers": obj.get("registeredUsers") + }) + # 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_notification_type.py b/equinix/services/fabricv4/models/port_notification_type.py new file mode 100644 index 00000000..8a2eb099 --- /dev/null +++ b/equinix/services/fabricv4/models/port_notification_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortNotificationType(str, Enum): + """ + Notification Type + """ + + """ + allowed enum values + """ + NOTIFICATION = 'NOTIFICATION' + TECHNICAL = 'TECHNICAL' + PEERING = 'PEERING' + ESCALATION = 'ESCALATION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortNotificationType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_operation.py b/equinix/services/fabricv4/models/port_operation.py new file mode 100644 index 00000000..2a0cea0b --- /dev/null +++ b/equinix/services/fabricv4/models/port_operation.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictInt +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.port_operation_operational_status import PortOperationOperationalStatus +from typing import Optional, Set +from typing_extensions import Self + +class PortOperation(BaseModel): + """ + Operational specifications for ports. + """ # noqa: E501 + operational_status: Optional[PortOperationOperationalStatus] = Field(default=None, alias="operationalStatus") + connection_count: Optional[StrictInt] = Field(default=None, description="Total number of connections.", alias="connectionCount") + op_status_changed_at: Optional[datetime] = Field(default=None, description="Date and time at which port availability changed.", alias="opStatusChangedAt") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["operationalStatus", "connectionCount", "opStatusChangedAt"] + + 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 PortOperation 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 PortOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "operationalStatus": obj.get("operationalStatus"), + "connectionCount": obj.get("connectionCount"), + "opStatusChangedAt": obj.get("opStatusChangedAt") + }) + # 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_operation_operational_status.py b/equinix/services/fabricv4/models/port_operation_operational_status.py new file mode 100644 index 00000000..0c03f8c0 --- /dev/null +++ b/equinix/services/fabricv4/models/port_operation_operational_status.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortOperationOperationalStatus(str, Enum): + """ + Availability of a given physical port. + """ + + """ + allowed enum values + """ + UP = 'UP' + DOWN = 'DOWN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortOperationOperationalStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_order.py b/equinix/services/fabricv4/models/port_order.py new file mode 100644 index 00000000..966cb26e --- /dev/null +++ b/equinix/services/fabricv4/models/port_order.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_order_purchase_order import PortOrderPurchaseOrder +from equinix.services.fabricv4.models.port_order_signature import PortOrderSignature +from typing import Optional, Set +from typing_extensions import Self + +class PortOrder(BaseModel): + """ + PortOrder + """ # noqa: E501 + purchase_order: Optional[PortOrderPurchaseOrder] = Field(default=None, alias="purchaseOrder") + order_id: Optional[StrictStr] = Field(default=None, description="Order Identification", alias="orderId") + order_number: Optional[StrictStr] = Field(default=None, description="Order Reference Number", alias="orderNumber") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned order identifier") + signature: Optional[PortOrderSignature] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["purchaseOrder", "orderId", "orderNumber", "uuid", "signature"] + + 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 PortOrder 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, + ) + # override the default output from pydantic by calling `to_dict()` of purchase_order + if self.purchase_order: + _dict['purchaseOrder'] = self.purchase_order.to_dict() + # override the default output from pydantic by calling `to_dict()` of signature + if self.signature: + _dict['signature'] = self.signature.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortOrder from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "purchaseOrder": PortOrderPurchaseOrder.from_dict(obj["purchaseOrder"]) if obj.get("purchaseOrder") is not None else None, + "orderId": obj.get("orderId"), + "orderNumber": obj.get("orderNumber"), + "uuid": obj.get("uuid"), + "signature": PortOrderSignature.from_dict(obj["signature"]) if obj.get("signature") is not None else None + }) + # 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 new file mode 100644 index 00000000..b154d3bd --- /dev/null +++ b/equinix/services/fabricv4/models/port_order_purchase_order.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_order_purchase_order_selection_type import PortOrderPurchaseOrderSelectionType +from typing import Optional, Set +from typing_extensions import Self + +class PortOrderPurchaseOrder(BaseModel): + """ + purchase order + """ # 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") + attachment_id: Optional[StrictStr] = Field(default=None, alias="attachmentId") + selection_type: Optional[PortOrderPurchaseOrderSelectionType] = Field(default=None, alias="selectionType") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["number", "amount", "startDate", "endDate", "attachmentId", "selectionType"] + + 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 PortOrderPurchaseOrder 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 PortOrderPurchaseOrder from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "number": obj.get("number"), + "amount": obj.get("amount"), + "startDate": obj.get("startDate"), + "endDate": obj.get("endDate"), + "attachmentId": obj.get("attachmentId"), + "selectionType": obj.get("selectionType") + }) + # 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_selection_type.py b/equinix/services/fabricv4/models/port_order_purchase_order_selection_type.py new file mode 100644 index 00000000..bbbd1ae7 --- /dev/null +++ b/equinix/services/fabricv4/models/port_order_purchase_order_selection_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortOrderPurchaseOrderSelectionType(str, Enum): + """ + PortOrderPurchaseOrderSelectionType + """ + + """ + allowed enum values + """ + EXEMPTION = 'EXEMPTION' + EXISTING = 'EXISTING' + NEW = 'NEW' + BLANKET = 'BLANKET' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortOrderPurchaseOrderSelectionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_order_signature.py b/equinix/services/fabricv4/models/port_order_signature.py new file mode 100644 index 00000000..b4d17128 --- /dev/null +++ b/equinix/services/fabricv4/models/port_order_signature.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.port_order_signature_delegate import PortOrderSignatureDelegate +from equinix.services.fabricv4.models.port_order_signature_signatory import PortOrderSignatureSignatory +from typing import Optional, Set +from typing_extensions import Self + +class PortOrderSignature(BaseModel): + """ + Port signature Type + """ # noqa: E501 + signatory: Optional[PortOrderSignatureSignatory] = None + delegate: Optional[PortOrderSignatureDelegate] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["signatory", "delegate"] + + 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 PortOrderSignature 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, + ) + # override the default output from pydantic by calling `to_dict()` of delegate + if self.delegate: + _dict['delegate'] = self.delegate.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortOrderSignature from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "signatory": obj.get("signatory"), + "delegate": PortOrderSignatureDelegate.from_dict(obj["delegate"]) if obj.get("delegate") is not None else None + }) + # 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_signature_delegate.py b/equinix/services/fabricv4/models/port_order_signature_delegate.py new file mode 100644 index 00000000..d337ec39 --- /dev/null +++ b/equinix/services/fabricv4/models/port_order_signature_delegate.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortOrderSignatureDelegate(BaseModel): + """ + delegate oder details + """ # noqa: E501 + first_name: Optional[StrictStr] = Field(default=None, description="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] = {} + __properties: ClassVar[List[str]] = ["firstName", "lastName", "email"] + + 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 PortOrderSignatureDelegate 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 PortOrderSignatureDelegate from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "firstName": obj.get("firstName"), + "lastName": obj.get("lastName"), + "email": obj.get("email") + }) + # 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_signature_signatory.py b/equinix/services/fabricv4/models/port_order_signature_signatory.py new file mode 100644 index 00000000..5d3258cd --- /dev/null +++ b/equinix/services/fabricv4/models/port_order_signature_signatory.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortOrderSignatureSignatory(str, Enum): + """ + Port signature Type + """ + + """ + allowed enum values + """ + DELEGATE = 'DELEGATE' + SELF = 'SELF' + ACCOUNT_SUPPORT = 'ACCOUNT_SUPPORT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortOrderSignatureSignatory from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_priority.py b/equinix/services/fabricv4/models/port_priority.py new file mode 100644 index 00000000..52e62f60 --- /dev/null +++ b/equinix/services/fabricv4/models/port_priority.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortPriority(str, Enum): + """ + Port priority in redundancy group + """ + + """ + allowed enum values + """ + PRIMARY = 'PRIMARY' + SECONDARY = 'SECONDARY' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortPriority from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_redundancy.py b/equinix/services/fabricv4/models/port_redundancy.py new file mode 100644 index 00000000..af8ccc6d --- /dev/null +++ b/equinix/services/fabricv4/models/port_redundancy.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.port_priority import PortPriority +from typing import Optional, Set +from typing_extensions import Self + +class PortRedundancy(BaseModel): + """ + Port redundancy configuration + """ # noqa: E501 + enabled: Optional[StrictBool] = Field(default=None, description="Access point redundancy") + group: Optional[StrictStr] = Field(default=None, description="Port UUID of respective primary port") + priority: Optional[PortPriority] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["enabled", "group", "priority"] + + 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 PortRedundancy 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 PortRedundancy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled"), + "group": obj.get("group"), + "priority": obj.get("priority") + }) + # 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_response.py b/equinix/services/fabricv4/models/port_response.py new file mode 100644 index 00000000..017d2290 --- /dev/null +++ b/equinix/services/fabricv4/models/port_response.py @@ -0,0 +1,272 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint +from equinix.services.fabricv4.models.port_device import PortDevice +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation +from equinix.services.fabricv4.models.port_interface import PortInterface +from equinix.services.fabricv4.models.port_lag import PortLag +from equinix.services.fabricv4.models.port_loa import PortLoa +from equinix.services.fabricv4.models.port_notification import PortNotification +from equinix.services.fabricv4.models.port_operation import PortOperation +from equinix.services.fabricv4.models.port_order import PortOrder +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy +from equinix.services.fabricv4.models.port_response_bmmr_type import PortResponseBmmrType +from equinix.services.fabricv4.models.port_response_connectivity_source_type import PortResponseConnectivitySourceType +from equinix.services.fabricv4.models.port_response_physical_ports_type import PortResponsePhysicalPortsType +from equinix.services.fabricv4.models.port_response_service_type import PortResponseServiceType +from equinix.services.fabricv4.models.port_settings import PortSettings +from equinix.services.fabricv4.models.port_state import PortState +from equinix.services.fabricv4.models.port_type import PortType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account_port_response import SimplifiedAccountPortResponse +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from typing import Optional, Set +from typing_extensions import Self + +class PortResponse(BaseModel): + """ + Port response specification + """ # noqa: E501 + type: Optional[PortType] = None + id: Optional[StrictInt] = Field(default=None, description="Equinix assigned response attribute for Port Id") + href: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for an absolute URL that is the subject of the link's context.") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for port identifier") + name: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Port name") + description: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Port description") + physical_ports_speed: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Physical Ports Speed in Mbps", alias="physicalPortsSpeed") + connections_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Connection count", alias="connectionsCount") + physical_ports_type: Optional[PortResponsePhysicalPortsType] = Field(default=None, alias="physicalPortsType") + physical_ports_count: Optional[StrictInt] = Field(default=None, alias="physicalPortsCount") + connectivity_source_type: Optional[PortResponseConnectivitySourceType] = Field(default=None, alias="connectivitySourceType") + bmmr_type: Optional[PortResponseBmmrType] = Field(default=None, alias="bmmrType") + project: Optional[Project] = None + state: Optional[PortState] = None + order: Optional[PortOrder] = None + cvp_id: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Unique ID for a virtual port.", alias="cvpId") + operation: Optional[PortOperation] = None + account: Optional[SimplifiedAccountPortResponse] = None + changelog: Optional[Changelog] = None + service_type: Optional[PortResponseServiceType] = Field(default=None, alias="serviceType") + bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port bandwidth in Mbps") + available_bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port available bandwidth in Mbps", alias="availableBandwidth") + used_bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port used bandwidth in Mbps", alias="usedBandwidth") + location: Optional[SimplifiedLocation] = None + device: Optional[PortDevice] = None + interface: Optional[PortInterface] = None + demarcation_point_ibx: Optional[StrictStr] = Field(default=None, description="A-side/Equinix ibx", alias="demarcationPointIbx") + tether_ibx: Optional[StrictStr] = Field(default=None, description="z-side/Equinix ibx", alias="tetherIbx") + demarcation_point: Optional[PortDemarcationPoint] = Field(default=None, alias="demarcationPoint") + redundancy: Optional[PortRedundancy] = None + encapsulation: Optional[PortEncapsulation] = None + lag_enabled: Optional[StrictBool] = Field(default=None, description="If LAG enabled", alias="lagEnabled") + lag: Optional[PortLag] = None + asn: Optional[StrictInt] = Field(default=None, description="Port ASN") + settings: Optional[PortSettings] = None + physical_port_quantity: Optional[StrictInt] = Field(default=None, description="Number of physical ports", alias="physicalPortQuantity") + notifications: Optional[List[PortNotification]] = Field(default=None, description="Notification preferences") + additional_info: Optional[List[PortAdditionalInfo]] = Field(default=None, description="Port additional information", alias="additionalInfo") + physical_ports: Optional[List[PhysicalPort]] = Field(default=None, description="Physical ports that implement this port", alias="physicalPorts") + loas: Optional[List[PortLoa]] = Field(default=None, description="Port Loas") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "href", "uuid", "name", "description", "physicalPortsSpeed", "connectionsCount", "physicalPortsType", "physicalPortsCount", "connectivitySourceType", "bmmrType", "project", "state", "order", "cvpId", "operation", "account", "changelog", "serviceType", "bandwidth", "availableBandwidth", "usedBandwidth", "location", "device", "interface", "demarcationPointIbx", "tetherIbx", "demarcationPoint", "redundancy", "encapsulation", "lagEnabled", "lag", "asn", "settings", "physicalPortQuantity", "notifications", "additionalInfo", "physicalPorts", "loas"] + + 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 PortResponse 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of order + if self.order: + _dict['order'] = self.order.to_dict() + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.to_dict() + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of changelog + if self.changelog: + _dict['changelog'] = self.changelog.to_dict() + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of device + if self.device: + _dict['device'] = self.device.to_dict() + # override the default output from pydantic by calling `to_dict()` of interface + if self.interface: + _dict['interface'] = self.interface.to_dict() + # override the default output from pydantic by calling `to_dict()` of demarcation_point + if self.demarcation_point: + _dict['demarcationPoint'] = self.demarcation_point.to_dict() + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.to_dict() + # override the default output from pydantic by calling `to_dict()` of encapsulation + if self.encapsulation: + _dict['encapsulation'] = self.encapsulation.to_dict() + # override the default output from pydantic by calling `to_dict()` of lag + if self.lag: + _dict['lag'] = self.lag.to_dict() + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in physical_ports (list) + _items = [] + if self.physical_ports: + for _item in self.physical_ports: + if _item: + _items.append(_item.to_dict()) + _dict['physicalPorts'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in loas (list) + _items = [] + if self.loas: + for _item in self.loas: + if _item: + _items.append(_item.to_dict()) + _dict['loas'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "physicalPortsSpeed": obj.get("physicalPortsSpeed"), + "connectionsCount": obj.get("connectionsCount"), + "physicalPortsType": obj.get("physicalPortsType"), + "physicalPortsCount": obj.get("physicalPortsCount"), + "connectivitySourceType": obj.get("connectivitySourceType"), + "bmmrType": obj.get("bmmrType"), + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "state": obj.get("state"), + "order": PortOrder.from_dict(obj["order"]) if obj.get("order") is not None else None, + "cvpId": obj.get("cvpId"), + "operation": PortOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "account": SimplifiedAccountPortResponse.from_dict(obj["account"]) if obj.get("account") is not None else None, + "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None, + "serviceType": obj.get("serviceType"), + "bandwidth": obj.get("bandwidth"), + "availableBandwidth": obj.get("availableBandwidth"), + "usedBandwidth": obj.get("usedBandwidth"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "device": PortDevice.from_dict(obj["device"]) if obj.get("device") is not None else None, + "interface": PortInterface.from_dict(obj["interface"]) if obj.get("interface") is not None else None, + "demarcationPointIbx": obj.get("demarcationPointIbx"), + "tetherIbx": obj.get("tetherIbx"), + "demarcationPoint": PortDemarcationPoint.from_dict(obj["demarcationPoint"]) if obj.get("demarcationPoint") is not None else None, + "redundancy": PortRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None, + "encapsulation": PortEncapsulation.from_dict(obj["encapsulation"]) if obj.get("encapsulation") is not None else None, + "lagEnabled": obj.get("lagEnabled"), + "lag": PortLag.from_dict(obj["lag"]) if obj.get("lag") is not None else None, + "asn": obj.get("asn"), + "settings": PortSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None, + "physicalPortQuantity": obj.get("physicalPortQuantity"), + "notifications": [PortNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "additionalInfo": [PortAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None, + "physicalPorts": [PhysicalPort.from_dict(_item) for _item in obj["physicalPorts"]] if obj.get("physicalPorts") is not None else None, + "loas": [PortLoa.from_dict(_item) for _item in obj["loas"]] if obj.get("loas") is not None else None + }) + # 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_response_bmmr_type.py b/equinix/services/fabricv4/models/port_response_bmmr_type.py new file mode 100644 index 00000000..e6df986b --- /dev/null +++ b/equinix/services/fabricv4/models/port_response_bmmr_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortResponseBmmrType(str, Enum): + """ + PortResponseBmmrType + """ + + """ + allowed enum values + """ + SELF = 'SELF' + EQUINIX = 'EQUINIX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortResponseBmmrType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_response_connectivity_source_type.py b/equinix/services/fabricv4/models/port_response_connectivity_source_type.py new file mode 100644 index 00000000..e5feb858 --- /dev/null +++ b/equinix/services/fabricv4/models/port_response_connectivity_source_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortResponseConnectivitySourceType(str, Enum): + """ + Port connectivity type + """ + + """ + allowed enum values + """ + COLO = 'COLO' + BMMR = 'BMMR' + REMOTE = 'REMOTE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortResponseConnectivitySourceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_response_physical_ports_type.py b/equinix/services/fabricv4/models/port_response_physical_ports_type.py new file mode 100644 index 00000000..41840ed6 --- /dev/null +++ b/equinix/services/fabricv4/models/port_response_physical_ports_type.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortResponsePhysicalPortsType(str, Enum): + """ + Physical Ports Type + """ + + """ + allowed enum values + """ + ENUM_1000_BASE_LX = '1000BASE_LX' + ENUM_10_GBASE_LR = '10GBASE_LR' + ENUM_100_GBASE_LR4 = '100GBASE_LR4' + ENUM_10_GBASE_ER = '10GBASE_ER' + ENUM_1000_BASE_SX = '1000BASE_SX' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortResponsePhysicalPortsType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_response_service_type.py b/equinix/services/fabricv4/models/port_response_service_type.py new file mode 100644 index 00000000..7e01d89a --- /dev/null +++ b/equinix/services/fabricv4/models/port_response_service_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortResponseServiceType(str, Enum): + """ + Port service Type + """ + + """ + allowed enum values + """ + EPL = 'EPL' + MSP = 'MSP' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortResponseServiceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_search_field_name.py b/equinix/services/fabricv4/models/port_search_field_name.py new file mode 100644 index 00000000..28c67fcf --- /dev/null +++ b/equinix/services/fabricv4/models/port_search_field_name.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortSearchFieldName(str, Enum): + """ + Possible field names to use on filters + """ + + """ + allowed enum values + """ + SLASH_PROJECT_SLASH_PROJECT_ID = '/project/projectId' + SLASH_SETTINGS_SLASH_PRODUCT_CODE = '/settings/productCode' + SLASH_STATE = '/state' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortSearchFieldName from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_settings.py b/equinix/services/fabricv4/models/port_settings.py new file mode 100644 index 00000000..a7b9b084 --- /dev/null +++ b/equinix/services/fabricv4/models/port_settings.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.port_settings_package_type import PortSettingsPackageType +from equinix.services.fabricv4.models.port_settings_shared_port_product import PortSettingsSharedPortProduct +from typing import Optional, Set +from typing_extensions import Self + +class PortSettings(BaseModel): + """ + Port configuration settings + """ # noqa: E501 + product: Optional[StrictStr] = Field(default=None, description="Product name") + buyout: Optional[StrictBool] = None + view_port_permission: Optional[StrictBool] = Field(default=None, alias="viewPortPermission") + place_vc_order_permission: Optional[StrictBool] = Field(default=None, alias="placeVcOrderPermission") + layer3_enabled: Optional[StrictBool] = Field(default=None, alias="layer3Enabled") + product_code: Optional[StrictStr] = Field(default=None, alias="productCode") + shared_port_type: Optional[StrictBool] = Field(default=None, alias="sharedPortType") + shared_port_product: Optional[PortSettingsSharedPortProduct] = Field(default=None, alias="sharedPortProduct") + package_type: Optional[PortSettingsPackageType] = Field(default=None, alias="packageType") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["product", "buyout", "viewPortPermission", "placeVcOrderPermission", "layer3Enabled", "productCode", "sharedPortType", "sharedPortProduct", "packageType"] + + 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 PortSettings 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 PortSettings from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "product": obj.get("product"), + "buyout": obj.get("buyout"), + "viewPortPermission": obj.get("viewPortPermission"), + "placeVcOrderPermission": obj.get("placeVcOrderPermission"), + "layer3Enabled": obj.get("layer3Enabled"), + "productCode": obj.get("productCode"), + "sharedPortType": obj.get("sharedPortType"), + "sharedPortProduct": obj.get("sharedPortProduct"), + "packageType": obj.get("packageType") + }) + # 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_settings_package_type.py b/equinix/services/fabricv4/models/port_settings_package_type.py new file mode 100644 index 00000000..09b183c0 --- /dev/null +++ b/equinix/services/fabricv4/models/port_settings_package_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortSettingsPackageType(str, Enum): + """ + Type of Port Package + """ + + """ + allowed enum values + """ + STANDARD = 'STANDARD' + UNTAGGED = 'UNTAGGED' + UNLIMITED = 'UNLIMITED' + UNLIMITED_PLUS = 'UNLIMITED PLUS' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortSettingsPackageType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_settings_shared_port_product.py b/equinix/services/fabricv4/models/port_settings_shared_port_product.py new file mode 100644 index 00000000..dedde8eb --- /dev/null +++ b/equinix/services/fabricv4/models/port_settings_shared_port_product.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortSettingsSharedPortProduct(str, Enum): + """ + PortSettingsSharedPortProduct + """ + + """ + allowed enum values + """ + NETWORK_EDGE = 'NETWORK_EDGE' + VIRTUAL_GATEWAY = 'VIRTUAL_GATEWAY' + SMARTKEY = 'SMARTKEY' + EDGE_METAL = 'EDGE_METAL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortSettingsSharedPortProduct from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_sort_by.py b/equinix/services/fabricv4/models/port_sort_by.py new file mode 100644 index 00000000..58030276 --- /dev/null +++ b/equinix/services/fabricv4/models/port_sort_by.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortSortBy(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_DEVICE_SLASH_NAME = '/device/name' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortSortBy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_sort_criteria.py b/equinix/services/fabricv4/models/port_sort_criteria.py new file mode 100644 index 00000000..d6d42091 --- /dev/null +++ b/equinix/services/fabricv4/models/port_sort_criteria.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.port_sort_by import PortSortBy +from equinix.services.fabricv4.models.port_sort_direction import PortSortDirection +from typing import Optional, Set +from typing_extensions import Self + +class PortSortCriteria(BaseModel): + """ + PortSortCriteria + """ # noqa: E501 + direction: Optional[PortSortDirection] = None + var_property: Optional[PortSortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 PortSortCriteria 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 PortSortCriteria from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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_sort_direction.py b/equinix/services/fabricv4/models/port_sort_direction.py new file mode 100644 index 00000000..ccf92b2a --- /dev/null +++ b/equinix/services/fabricv4/models/port_sort_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortSortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortSortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_state.py b/equinix/services/fabricv4/models/port_state.py new file mode 100644 index 00000000..5bb0a9cd --- /dev/null +++ b/equinix/services/fabricv4/models/port_state.py @@ -0,0 +1,48 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortState(str, Enum): + """ + Port lifecycle state + """ + + """ + allowed enum values + """ + PENDING = 'PENDING' + PROVISIONING = 'PROVISIONING' + PROVISIONED = 'PROVISIONED' + ACTIVE = 'ACTIVE' + DEPROVISIONING = 'DEPROVISIONING' + DEPROVISIONED = 'DEPROVISIONED' + INACTIVE = 'INACTIVE' + FAILED = 'FAILED' + ADDED = 'ADDED' + DELETED = 'DELETED' + TO_BE_ADDED = 'TO_BE_ADDED' + TO_BE_DELETED = 'TO_BE_DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_tether.py b/equinix/services/fabricv4/models/port_tether.py new file mode 100644 index 00000000..12633e7a --- /dev/null +++ b/equinix/services/fabricv4/models/port_tether.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortTether(BaseModel): + """ + Port physical connection + """ # noqa: E501 + cross_connect_id: Optional[StrictStr] = Field(default=None, description="Port cross connect identifier", alias="crossConnectId") + cabinet_number: Optional[StrictStr] = Field(default=None, description="Port cabinet number", alias="cabinetNumber") + system_name: Optional[StrictStr] = Field(default=None, description="Port system name", alias="systemName") + patch_panel: Optional[StrictStr] = Field(default=None, description="Port patch panel", alias="patchPanel") + patch_panel_port_a: Optional[StrictStr] = Field(default=None, description="Port patch panel port A", alias="patchPanelPortA") + patch_panel_port_b: Optional[StrictStr] = Field(default=None, description="Port patch panel port B", alias="patchPanelPortB") + ibx: Optional[StrictStr] = Field(default=None, description="z-side/Equinix IBX") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["crossConnectId", "cabinetNumber", "systemName", "patchPanel", "patchPanelPortA", "patchPanelPortB", "ibx"] + + 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 PortTether 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 PortTether from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "crossConnectId": obj.get("crossConnectId"), + "cabinetNumber": obj.get("cabinetNumber"), + "systemName": obj.get("systemName"), + "patchPanel": obj.get("patchPanel"), + "patchPanelPortA": obj.get("patchPanelPortA"), + "patchPanelPortB": obj.get("patchPanelPortB"), + "ibx": obj.get("ibx") + }) + # 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_type.py b/equinix/services/fabricv4/models/port_type.py new file mode 100644 index 00000000..cbd38d3c --- /dev/null +++ b/equinix/services/fabricv4/models/port_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PortType(str, Enum): + """ + Type of Port + """ + + """ + allowed enum values + """ + XF_PORT = 'XF_PORT' + IX_PORT = 'IX_PORT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PortType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/port_v4_search_request.py b/equinix/services/fabricv4/models/port_v4_search_request.py new file mode 100644 index 00000000..0ae25fb2 --- /dev/null +++ b/equinix/services/fabricv4/models/port_v4_search_request.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.port_expression import PortExpression +from equinix.services.fabricv4.models.port_sort_criteria import PortSortCriteria +from typing import Optional, Set +from typing_extensions import Self + +class PortV4SearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[PortExpression] = None + pagination: Optional[PaginationRequest] = None + sort: Optional[List[PortSortCriteria]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 PortV4SearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PortV4SearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": PortExpression.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [PortSortCriteria.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/precision_time_change_operation.py b/equinix/services/fabricv4/models/precision_time_change_operation.py new file mode 100644 index 00000000..4c581450 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_change_operation.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.precision_time_change_operation_op import PrecisionTimeChangeOperationOp +from equinix.services.fabricv4.models.precision_time_change_operation_path import PrecisionTimeChangeOperationPath +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimeChangeOperation(BaseModel): + """ + Fabric Precision Timing change operation data + """ # noqa: E501 + op: PrecisionTimeChangeOperationOp + path: PrecisionTimeChangeOperationPath + value: Optional[Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 PrecisionTimeChangeOperation 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 + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrecisionTimeChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/precision_time_change_operation_op.py b/equinix/services/fabricv4/models/precision_time_change_operation_op.py new file mode 100644 index 00000000..d2b30e44 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_change_operation_op.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PrecisionTimeChangeOperationOp(str, Enum): + """ + Handy shortcut for operation name + """ + + """ + allowed enum values + """ + REPLACE = 'replace' + ADD = 'add' + REMOVE = 'remove' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PrecisionTimeChangeOperationOp from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/precision_time_change_operation_path.py b/equinix/services/fabricv4/models/precision_time_change_operation_path.py new file mode 100644 index 00000000..d7d77205 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_change_operation_path.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PrecisionTimeChangeOperationPath(str, Enum): + """ + path inside document leading to updated parameter + """ + + """ + allowed enum values + """ + SLASH_IPV4 = '/ipv4' + SLASH_NAME = '/name' + SLASH_ADVANCE_CONFIGURATION_SLASH_NTP = '/advanceConfiguration/ntp' + SLASH_ADVANCE_CONFIGURATION_SLASH_PTP = '/advanceConfiguration/ptp' + SLASH_PACKAGE = '/package' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PrecisionTimeChangeOperationPath from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/precision_time_package_request.py b/equinix/services/fabricv4/models/precision_time_package_request.py new file mode 100644 index 00000000..3977a5ec --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_package_request.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimePackageRequest(BaseModel): + """ + EPT Package Request + """ # noqa: E501 + href: Optional[StrictStr] = None + code: GetTimeServicesPackageByCodePackageCodeParameter + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "code"] + + 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 PrecisionTimePackageRequest 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 PrecisionTimePackageRequest 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"), + "code": obj.get("code") + }) + # 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/precision_time_package_response.py b/equinix/services/fabricv4/models/precision_time_package_response.py new file mode 100644 index 00000000..62a23b93 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_package_response.py @@ -0,0 +1,129 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter +from equinix.services.fabricv4.models.precision_time_package_response_type import PrecisionTimePackageResponseType +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimePackageResponse(BaseModel): + """ + EPT Service Package Information + """ # noqa: E501 + href: Optional[StrictStr] = None + code: GetTimeServicesPackageByCodePackageCodeParameter + type: Optional[PrecisionTimePackageResponseType] = None + bandwidth: Optional[StrictInt] = None + clients_per_second_max: Optional[StrictInt] = Field(default=None, alias="clientsPerSecondMax") + redundancy_supported: Optional[StrictBool] = Field(default=None, alias="redundancySupported") + multi_subnet_supported: Optional[StrictBool] = Field(default=None, alias="multiSubnetSupported") + accuracy_unit: Optional[StrictStr] = Field(default=None, alias="accuracyUnit") + accuracy_sla: Optional[StrictInt] = Field(default=None, alias="accuracySla") + accuracy_avg_min: Optional[StrictInt] = Field(default=None, alias="accuracyAvgMin") + accuracy_avg_max: Optional[StrictInt] = Field(default=None, alias="accuracyAvgMax") + changelog: Optional[Changelog] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "code", "type", "bandwidth", "clientsPerSecondMax", "redundancySupported", "multiSubnetSupported", "accuracyUnit", "accuracySla", "accuracyAvgMin", "accuracyAvgMax", "changelog"] + + 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 PrecisionTimePackageResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of changelog + if self.changelog: + _dict['changelog'] = self.changelog.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrecisionTimePackageResponse 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"), + "code": obj.get("code"), + "type": obj.get("type"), + "bandwidth": obj.get("bandwidth"), + "clientsPerSecondMax": obj.get("clientsPerSecondMax"), + "redundancySupported": obj.get("redundancySupported"), + "multiSubnetSupported": obj.get("multiSubnetSupported"), + "accuracyUnit": obj.get("accuracyUnit"), + "accuracySla": obj.get("accuracySla"), + "accuracyAvgMin": obj.get("accuracyAvgMin"), + "accuracyAvgMax": obj.get("accuracyAvgMax"), + "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None + }) + # 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/precision_time_package_response_type.py b/equinix/services/fabricv4/models/precision_time_package_response_type.py new file mode 100644 index 00000000..32263453 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_package_response_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PrecisionTimePackageResponseType(str, Enum): + """ + PrecisionTimePackageResponseType + """ + + """ + allowed enum values + """ + TIME_SERVICE_PACKAGE = 'TIME_SERVICE_PACKAGE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PrecisionTimePackageResponseType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/precision_time_service_connections_response.py b/equinix/services/fabricv4/models/precision_time_service_connections_response.py new file mode 100644 index 00000000..ebcf9185 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_connections_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection_link import ConnectionLink +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimeServiceConnectionsResponse(BaseModel): + """ + EPT service instance's L2 connections + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[ConnectionLink]] = Field(default=None, description="Data returned from the API call") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 PrecisionTimeServiceConnectionsResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrecisionTimeServiceConnectionsResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [ConnectionLink.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/precision_time_service_create_response.py b/equinix/services/fabricv4/models/precision_time_service_create_response.py new file mode 100644 index 00000000..201c3846 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_create_response.py @@ -0,0 +1,154 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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_extensions import Annotated +from equinix.services.fabricv4.models.account import Account +from equinix.services.fabricv4.models.advance_configuration import AdvanceConfiguration +from equinix.services.fabricv4.models.fabric_connection_uuid import FabricConnectionUuid +from equinix.services.fabricv4.models.ipv4 import Ipv4 +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse +from equinix.services.fabricv4.models.precision_time_service_create_response_state import PrecisionTimeServiceCreateResponseState +from equinix.services.fabricv4.models.precision_time_service_create_response_type import PrecisionTimeServiceCreateResponseType +from equinix.services.fabricv4.models.project import Project +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimeServiceCreateResponse(BaseModel): + """ + EPT service instance + """ # noqa: E501 + type: PrecisionTimeServiceCreateResponseType + href: StrictStr + uuid: StrictStr = Field(description="uuid of the ept service") + name: Optional[StrictStr] = Field(default=None, description="name of the ept service") + description: Optional[StrictStr] = None + state: PrecisionTimeServiceCreateResponseState + package: PrecisionTimePackageResponse + connections: Optional[Annotated[List[FabricConnectionUuid], Field(min_length=1, max_length=2)]] = Field(default=None, description="fabric l2 connections used for the ept service") + ipv4: Ipv4 + account: Optional[Account] = None + advance_configuration: Optional[AdvanceConfiguration] = Field(default=None, alias="advanceConfiguration") + project: Optional[Project] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "href", "uuid", "name", "description", "state", "package", "connections", "ipv4", "account", "advanceConfiguration", "project"] + + 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 PrecisionTimeServiceCreateResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of package + if self.package: + _dict['package'] = self.package.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in connections (list) + _items = [] + if self.connections: + for _item in self.connections: + if _item: + _items.append(_item.to_dict()) + _dict['connections'] = _items + # override the default output from pydantic by calling `to_dict()` of ipv4 + if self.ipv4: + _dict['ipv4'] = self.ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of advance_configuration + if self.advance_configuration: + _dict['advanceConfiguration'] = self.advance_configuration.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrecisionTimeServiceCreateResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "state": obj.get("state"), + "package": PrecisionTimePackageResponse.from_dict(obj["package"]) if obj.get("package") is not None else None, + "connections": [FabricConnectionUuid.from_dict(_item) for _item in obj["connections"]] if obj.get("connections") is not None else None, + "ipv4": Ipv4.from_dict(obj["ipv4"]) if obj.get("ipv4") is not None else None, + "account": Account.from_dict(obj["account"]) if obj.get("account") is not None else None, + "advanceConfiguration": AdvanceConfiguration.from_dict(obj["advanceConfiguration"]) if obj.get("advanceConfiguration") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + # 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/precision_time_service_create_response_state.py b/equinix/services/fabricv4/models/precision_time_service_create_response_state.py new file mode 100644 index 00000000..f6fee976 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_create_response_state.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PrecisionTimeServiceCreateResponseState(str, Enum): + """ + indicate service state + """ + + """ + allowed enum values + """ + PROVISIONED = 'PROVISIONED' + PROVISIONING = 'PROVISIONING' + PROVISIONING_FAILED = 'PROVISIONING_FAILED' + CONFIGURING = 'CONFIGURING' + CANCELLED = 'CANCELLED' + DEPROVISIONING_FAILED = 'DEPROVISIONING_FAILED' + PENDING_CONFIGURATION = 'PENDING_CONFIGURATION' + DEPROVISIONED = 'DEPROVISIONED' + CONFIGURING_FAILED = 'CONFIGURING_FAILED' + DEPROVISIONING = 'DEPROVISIONING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PrecisionTimeServiceCreateResponseState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/precision_time_service_create_response_type.py b/equinix/services/fabricv4/models/precision_time_service_create_response_type.py new file mode 100644 index 00000000..83a146e0 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_create_response_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PrecisionTimeServiceCreateResponseType(str, Enum): + """ + PrecisionTimeServiceCreateResponseType + """ + + """ + allowed enum values + """ + NTP = 'NTP' + PTP = 'PTP' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PrecisionTimeServiceCreateResponseType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/precision_time_service_packages_response.py b/equinix/services/fabricv4/models/precision_time_service_packages_response.py new file mode 100644 index 00000000..443c1644 --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_packages_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimeServicePackagesResponse(BaseModel): + """ + Precision Packages + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[PrecisionTimePackageResponse]] = Field(default=None, description="Data returned from the API call") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 PrecisionTimeServicePackagesResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrecisionTimeServicePackagesResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [PrecisionTimePackageResponse.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/precision_time_service_request.py b/equinix/services/fabricv4/models/precision_time_service_request.py new file mode 100644 index 00000000..795e818b --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_request.py @@ -0,0 +1,140 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.advance_configuration import AdvanceConfiguration +from equinix.services.fabricv4.models.fabric_connection_uuid import FabricConnectionUuid +from equinix.services.fabricv4.models.ipv4 import Ipv4 +from equinix.services.fabricv4.models.precision_time_package_request import PrecisionTimePackageRequest +from equinix.services.fabricv4.models.precision_time_service_request_type import PrecisionTimeServiceRequestType +from equinix.services.fabricv4.models.project import Project +from typing import Optional, Set +from typing_extensions import Self + +class PrecisionTimeServiceRequest(BaseModel): + """ + EPT service instance + """ # noqa: E501 + type: PrecisionTimeServiceRequestType + name: StrictStr + description: Optional[StrictStr] = None + package: PrecisionTimePackageRequest + connections: List[FabricConnectionUuid] + ipv4: Ipv4 + advance_configuration: Optional[AdvanceConfiguration] = Field(default=None, alias="advanceConfiguration") + project: Optional[Project] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "description", "package", "connections", "ipv4", "advanceConfiguration", "project"] + + 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 PrecisionTimeServiceRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of package + if self.package: + _dict['package'] = self.package.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in connections (list) + _items = [] + if self.connections: + for _item in self.connections: + if _item: + _items.append(_item.to_dict()) + _dict['connections'] = _items + # override the default output from pydantic by calling `to_dict()` of ipv4 + if self.ipv4: + _dict['ipv4'] = self.ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of advance_configuration + if self.advance_configuration: + _dict['advanceConfiguration'] = self.advance_configuration.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PrecisionTimeServiceRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "description": obj.get("description"), + "package": PrecisionTimePackageRequest.from_dict(obj["package"]) if obj.get("package") is not None else None, + "connections": [FabricConnectionUuid.from_dict(_item) for _item in obj["connections"]] if obj.get("connections") is not None else None, + "ipv4": Ipv4.from_dict(obj["ipv4"]) if obj.get("ipv4") is not None else None, + "advanceConfiguration": AdvanceConfiguration.from_dict(obj["advanceConfiguration"]) if obj.get("advanceConfiguration") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + # 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/precision_time_service_request_type.py b/equinix/services/fabricv4/models/precision_time_service_request_type.py new file mode 100644 index 00000000..f6aac7dd --- /dev/null +++ b/equinix/services/fabricv4/models/precision_time_service_request_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PrecisionTimeServiceRequestType(str, Enum): + """ + Indicate the entity is EPT service + """ + + """ + allowed enum values + """ + NTP = 'NTP' + PTP = 'PTP' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PrecisionTimeServiceRequestType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/presence.py b/equinix/services/fabricv4/models/presence.py new file mode 100644 index 00000000..9f501ee0 --- /dev/null +++ b/equinix/services/fabricv4/models/presence.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Presence(str, Enum): + """ + Presence + """ + + """ + allowed enum values + """ + MY_PORTS = 'MY_PORTS' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Presence from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/price.py b/equinix/services/fabricv4/models/price.py new file mode 100644 index 00000000..bb81fea5 --- /dev/null +++ b/equinix/services/fabricv4/models/price.py @@ -0,0 +1,158 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.fabric_cloud_router_price import FabricCloudRouterPrice +from equinix.services.fabricv4.models.ip_block_price import IpBlockPrice +from equinix.services.fabricv4.models.price_category import PriceCategory +from equinix.services.fabricv4.models.price_charge import PriceCharge +from equinix.services.fabricv4.models.price_term_length import PriceTermLength +from equinix.services.fabricv4.models.product_type import ProductType +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.virtual_connection_price import VirtualConnectionPrice +from equinix.services.fabricv4.models.virtual_port_price import VirtualPortPrice +from typing import Optional, Set +from typing_extensions import Self + +class Price(BaseModel): + """ + Price + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="An absolute URL that returns specified pricing data") + type: Optional[ProductType] = None + code: Optional[StrictStr] = Field(default=None, description="Equinix-assigned product code") + name: Optional[StrictStr] = Field(default=None, description="Full product name") + description: Optional[StrictStr] = Field(default=None, description="Product description") + account: Optional[SimplifiedAccount] = None + charges: Optional[List[PriceCharge]] = None + currency: Optional[StrictStr] = Field(default=None, description="Product offering price currency") + term_length: Optional[PriceTermLength] = Field(default=None, alias="termLength") + catgory: Optional[PriceCategory] = None + connection: Optional[VirtualConnectionPrice] = None + ip_block: Optional[IpBlockPrice] = Field(default=None, alias="ipBlock") + router: Optional[FabricCloudRouterPrice] = None + port: Optional[VirtualPortPrice] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "code", "name", "description", "account", "charges", "currency", "termLength", "catgory", "connection", "ipBlock", "router", "port"] + + 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 Price 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, + ) + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in charges (list) + _items = [] + if self.charges: + for _item in self.charges: + if _item: + _items.append(_item.to_dict()) + _dict['charges'] = _items + # override the default output from pydantic by calling `to_dict()` of connection + if self.connection: + _dict['connection'] = self.connection.to_dict() + # override the default output from pydantic by calling `to_dict()` of ip_block + if self.ip_block: + _dict['ipBlock'] = self.ip_block.to_dict() + # override the default output from pydantic by calling `to_dict()` of router + if self.router: + _dict['router'] = self.router.to_dict() + # override the default output from pydantic by calling `to_dict()` of port + if self.port: + _dict['port'] = self.port.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Price 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"), + "type": obj.get("type"), + "code": obj.get("code"), + "name": obj.get("name"), + "description": obj.get("description"), + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "charges": [PriceCharge.from_dict(_item) for _item in obj["charges"]] if obj.get("charges") is not None else None, + "currency": obj.get("currency"), + "termLength": obj.get("termLength"), + "catgory": obj.get("catgory"), + "connection": VirtualConnectionPrice.from_dict(obj["connection"]) if obj.get("connection") is not None else None, + "ipBlock": IpBlockPrice.from_dict(obj["ipBlock"]) if obj.get("ipBlock") is not None else None, + "router": FabricCloudRouterPrice.from_dict(obj["router"]) if obj.get("router") is not None else None, + "port": VirtualPortPrice.from_dict(obj["port"]) if obj.get("port") is not None else None + }) + # 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/price_category.py b/equinix/services/fabricv4/models/price_category.py new file mode 100644 index 00000000..f77d254d --- /dev/null +++ b/equinix/services/fabricv4/models/price_category.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceCategory(str, Enum): + """ + Price category + """ + + """ + allowed enum values + """ + COUNTRY = 'COUNTRY' + CUSTOMER = 'CUSTOMER' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PriceCategory from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/price_charge.py b/equinix/services/fabricv4/models/price_charge.py new file mode 100644 index 00000000..b5ed9d2f --- /dev/null +++ b/equinix/services/fabricv4/models/price_charge.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional, Union +from typing_extensions import Annotated +from equinix.services.fabricv4.models.price_charge_type import PriceChargeType +from typing import Optional, Set +from typing_extensions import Self + +class PriceCharge(BaseModel): + """ + Price Charge + """ # noqa: E501 + type: Optional[PriceChargeType] = None + price: Optional[Union[Annotated[float, Field(strict=True, ge=0)], Annotated[int, Field(strict=True, ge=0)]]] = Field(default=None, description="Offering price") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "price"] + + 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 PriceCharge 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 PriceCharge from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "price": obj.get("price") + }) + # 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/price_charge_type.py b/equinix/services/fabricv4/models/price_charge_type.py new file mode 100644 index 00000000..6be69724 --- /dev/null +++ b/equinix/services/fabricv4/models/price_charge_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceChargeType(str, Enum): + """ + Price charge type + """ + + """ + allowed enum values + """ + MONTHLY_RECURRING = 'MONTHLY_RECURRING' + NON_RECURRING = 'NON_RECURRING' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PriceChargeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/price_error.py b/equinix/services/fabricv4/models/price_error.py new file mode 100644 index 00000000..dae64274 --- /dev/null +++ b/equinix/services/fabricv4/models/price_error.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.price_error_additional_info import PriceErrorAdditionalInfo +from equinix.services.fabricv4.models.price_error_error_code import PriceErrorErrorCode +from equinix.services.fabricv4.models.price_error_error_message import PriceErrorErrorMessage +from typing import Optional, Set +from typing_extensions import Self + +class PriceError(BaseModel): + """ + Error with details + """ # noqa: E501 + error_code: PriceErrorErrorCode = Field(alias="errorCode") + error_message: PriceErrorErrorMessage = Field(alias="errorMessage") + correlation_id: Optional[StrictStr] = Field(default=None, alias="correlationId") + details: Optional[StrictStr] = None + help: Optional[StrictStr] = None + additional_info: Optional[List[PriceErrorAdditionalInfo]] = Field(default=None, alias="additionalInfo") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["errorCode", "errorMessage", "correlationId", "details", "help", "additionalInfo"] + + 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 PriceError 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PriceError from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errorCode": obj.get("errorCode"), + "errorMessage": obj.get("errorMessage"), + "correlationId": obj.get("correlationId"), + "details": obj.get("details"), + "help": obj.get("help"), + "additionalInfo": [PriceErrorAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None + }) + # 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/price_error_additional_info.py b/equinix/services/fabricv4/models/price_error_additional_info.py new file mode 100644 index 00000000..dc4c4e46 --- /dev/null +++ b/equinix/services/fabricv4/models/price_error_additional_info.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceErrorAdditionalInfo(BaseModel): + """ + PriceErrorAdditionalInfo + """ # noqa: E501 + var_property: Optional[StrictStr] = Field(default=None, alias="property") + reason: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "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 PriceErrorAdditionalInfo 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 PriceErrorAdditionalInfo 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"), + "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/price_error_error_code.py b/equinix/services/fabricv4/models/price_error_error_code.py new file mode 100644 index 00000000..c8708cd7 --- /dev/null +++ b/equinix/services/fabricv4/models/price_error_error_code.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceErrorErrorCode(str, Enum): + """ + PriceErrorErrorCode + """ + + """ + allowed enum values + """ + EQ_MINUS_3038010 = 'EQ-3038010' + EQ_MINUS_3038022 = 'EQ-3038022' + EQ_MINUS_3038030 = 'EQ-3038030' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PriceErrorErrorCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/price_error_error_message.py b/equinix/services/fabricv4/models/price_error_error_message.py new file mode 100644 index 00000000..02fb198c --- /dev/null +++ b/equinix/services/fabricv4/models/price_error_error_message.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceErrorErrorMessage(str, Enum): + """ + PriceErrorErrorMessage + """ + + """ + allowed enum values + """ + VALIDATION_FAILURE = 'Validation failure' + INVALID_VALUE = 'Invalid value' + INTERNAL_SERVER_ERROR = 'Internal Server Error' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PriceErrorErrorMessage from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/price_location.py b/equinix/services/fabricv4/models/price_location.py new file mode 100644 index 00000000..24aa8995 --- /dev/null +++ b/equinix/services/fabricv4/models/price_location.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceLocation(BaseModel): + """ + PriceLocation + """ # noqa: E501 + metro_code: Optional[StrictStr] = Field(default=None, alias="metroCode") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["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 PriceLocation 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 PriceLocation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "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/price_search_response.py b/equinix/services/fabricv4/models/price_search_response.py new file mode 100644 index 00000000..9b22962e --- /dev/null +++ b/equinix/services/fabricv4/models/price_search_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.price import Price +from typing import Optional, Set +from typing_extensions import Self + +class PriceSearchResponse(BaseModel): + """ + PriceSearchResponse + """ # noqa: E501 + data: Optional[List[Price]] = None + pagination: Optional[Pagination] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "pagination"] + + 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 PriceSearchResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.to_dict()) + _dict['data'] = _items + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PriceSearchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [Price.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + }) + # 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/price_term_length.py b/equinix/services/fabricv4/models/price_term_length.py new file mode 100644 index 00000000..8770052a --- /dev/null +++ b/equinix/services/fabricv4/models/price_term_length.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PriceTermLength(int, Enum): + """ + In months. No value means unlimited + """ + + """ + allowed enum values + """ + NUMBER_12 = 12 + NUMBER_24 = 24 + NUMBER_36 = 36 + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PriceTermLength from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/process_step.py b/equinix/services/fabricv4/models/process_step.py new file mode 100644 index 00000000..1bc0f74d --- /dev/null +++ b/equinix/services/fabricv4/models/process_step.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ProcessStep(BaseModel): + """ + Definition of customized step while making connection + """ # noqa: E501 + title: Optional[StrictStr] = Field(default=None, description="Service profile custom step title") + sub_title: Optional[StrictStr] = Field(default=None, description="Service profile custom step sub title", alias="subTitle") + description: Optional[StrictStr] = Field(default=None, description="Service profile custom step description") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["title", "subTitle", "description"] + + 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 ProcessStep 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 ProcessStep from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "title": obj.get("title"), + "subTitle": obj.get("subTitle"), + "description": obj.get("description") + }) + # 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/product_type.py b/equinix/services/fabricv4/models/product_type.py new file mode 100644 index 00000000..04e9efb9 --- /dev/null +++ b/equinix/services/fabricv4/models/product_type.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ProductType(str, Enum): + """ + Product type + """ + + """ + allowed enum values + """ + VIRTUAL_CONNECTION_PRODUCT = 'VIRTUAL_CONNECTION_PRODUCT' + IP_BLOCK_PRODUCT = 'IP_BLOCK_PRODUCT' + VIRTUAL_PORT_PRODUCT = 'VIRTUAL_PORT_PRODUCT' + CLOUD_ROUTER_PRODUCT = 'CLOUD_ROUTER_PRODUCT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ProductType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/project.py b/equinix/services/fabricv4/models/project.py new file mode 100644 index 00000000..f59a9e72 --- /dev/null +++ b/equinix/services/fabricv4/models/project.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Project(BaseModel): + """ + Project + """ # noqa: E501 + project_id: Optional[StrictStr] = Field(default=None, description="Subscriber-assigned project ID", alias="projectId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["projectId"] + + 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 Project 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 Project from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "projectId": obj.get("projectId") + }) + # 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/provider_status.py b/equinix/services/fabricv4/models/provider_status.py new file mode 100644 index 00000000..8b87cff4 --- /dev/null +++ b/equinix/services/fabricv4/models/provider_status.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ProviderStatus(str, Enum): + """ + Connection provider readiness status + """ + + """ + allowed enum values + """ + AVAILABLE = 'AVAILABLE' + DEPROVISIONED = 'DEPROVISIONED' + DEPROVISIONING = 'DEPROVISIONING' + FAILED = 'FAILED' + NOT_AVAILABLE = 'NOT_AVAILABLE' + PENDING_APPROVAL = 'PENDING_APPROVAL' + PENDING_CONFIGURATION = 'PENDING_CONFIGURATION' + PROVISIONED = 'PROVISIONED' + PROVISIONING = 'PROVISIONING' + REJECTED = 'REJECTED' + PENDING_BGP = 'PENDING_BGP' + OUT_OF_BANDWIDTH = 'OUT_OF_BANDWIDTH' + DELETED = 'DELETED' + ERROR = 'ERROR' + ERRORED = 'ERRORED' + NOTPROVISIONED = 'NOTPROVISIONED' + NOT_PROVISIONED = 'NOT_PROVISIONED' + ORDERING = 'ORDERING' + DELETING = 'DELETING' + PENDING_DELETE = 'PENDING DELETE' + N_SLASH_A = 'N/A' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ProviderStatus from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/ptp_advance_configuration.py b/equinix/services/fabricv4/models/ptp_advance_configuration.py new file mode 100644 index 00000000..acfb58a5 --- /dev/null +++ b/equinix/services/fabricv4/models/ptp_advance_configuration.py @@ -0,0 +1,120 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.ptp_advance_configuration_time_scale import PtpAdvanceConfigurationTimeScale +from equinix.services.fabricv4.models.ptp_advance_configuration_transport_mode import PtpAdvanceConfigurationTransportMode +from typing import Optional, Set +from typing_extensions import Self + +class PtpAdvanceConfiguration(BaseModel): + """ + PtpAdvanceConfiguration + """ # noqa: E501 + time_scale: Optional[PtpAdvanceConfigurationTimeScale] = Field(default=None, alias="timeScale") + domain: Optional[Annotated[int, Field(le=127, strict=True, ge=0)]] = None + priority1: Optional[Annotated[int, Field(le=248, strict=True, ge=0)]] = None + priority2: Optional[Annotated[int, Field(le=248, strict=True, ge=0)]] = None + log_announce_interval: Optional[StrictInt] = Field(default=None, description="The mean time interval between Announce messages. A shorter interval makes ptp4l react faster to the changes in the master-slave hierarchy. The interval should be the same in the whole domain. It's specified as a power of two in seconds. The default is 1 (2 seconds).", alias="logAnnounceInterval") + log_sync_interval: Optional[StrictInt] = Field(default=None, description="The mean time interval between Sync messages. A shorter interval may improve accuracy of the local clock. It's specified as a power of two in seconds. The default is 0 (1 second).", alias="logSyncInterval") + log_delay_req_interval: Optional[StrictInt] = Field(default=None, alias="logDelayReqInterval") + transport_mode: Optional[PtpAdvanceConfigurationTransportMode] = Field(default=None, alias="transportMode") + grant_time: Optional[Annotated[int, Field(le=7200, strict=True, ge=30)]] = Field(default=None, description="Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200.", alias="grantTime") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["timeScale", "domain", "priority1", "priority2", "logAnnounceInterval", "logSyncInterval", "logDelayReqInterval", "transportMode", "grantTime"] + + 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 PtpAdvanceConfiguration 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 PtpAdvanceConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "timeScale": obj.get("timeScale"), + "domain": obj.get("domain"), + "priority1": obj.get("priority1"), + "priority2": obj.get("priority2"), + "logAnnounceInterval": obj.get("logAnnounceInterval"), + "logSyncInterval": obj.get("logSyncInterval"), + "logDelayReqInterval": obj.get("logDelayReqInterval"), + "transportMode": obj.get("transportMode"), + "grantTime": obj.get("grantTime") + }) + # 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/ptp_advance_configuration_time_scale.py b/equinix/services/fabricv4/models/ptp_advance_configuration_time_scale.py new file mode 100644 index 00000000..4a21d4af --- /dev/null +++ b/equinix/services/fabricv4/models/ptp_advance_configuration_time_scale.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PtpAdvanceConfigurationTimeScale(str, Enum): + """ + Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol. + """ + + """ + allowed enum values + """ + ARB = 'ARB' + PTP = 'PTP' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PtpAdvanceConfigurationTimeScale from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/ptp_advance_configuration_transport_mode.py b/equinix/services/fabricv4/models/ptp_advance_configuration_transport_mode.py new file mode 100644 index 00000000..fd390221 --- /dev/null +++ b/equinix/services/fabricv4/models/ptp_advance_configuration_transport_mode.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 PtpAdvanceConfigurationTransportMode(str, Enum): + """ + PtpAdvanceConfigurationTransportMode + """ + + """ + allowed enum values + """ + MULTICAST = 'Multicast' + UNICAST = 'Unicast' + HYBRID = 'Hybrid' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of PtpAdvanceConfigurationTransportMode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/query_direction.py b/equinix/services/fabricv4/models/query_direction.py new file mode 100644 index 00000000..b5382dcb --- /dev/null +++ b/equinix/services/fabricv4/models/query_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 QueryDirection(str, Enum): + """ + Direction of traffic from the requester's viewpoint. + """ + + """ + allowed enum values + """ + INBOUND = 'inbound' + OUTBOUND = 'outbound' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of QueryDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/remove_operation.py b/equinix/services/fabricv4/models/remove_operation.py new file mode 100644 index 00000000..22daed8a --- /dev/null +++ b/equinix/services/fabricv4/models/remove_operation.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.op_enum import OpEnum +from typing import Optional, Set +from typing_extensions import Self + +class RemoveOperation(BaseModel): + """ + Remove sub-resource from an existing model + """ # noqa: E501 + op: OpEnum + path: StrictStr = Field(description="A JSON Pointer path.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path"] + + 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 RemoveOperation 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 RemoveOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path") + }) + # 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/replace_operation.py b/equinix/services/fabricv4/models/replace_operation.py new file mode 100644 index 00000000..a1e1679e --- /dev/null +++ b/equinix/services/fabricv4/models/replace_operation.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.op_enum import OpEnum +from typing import Optional, Set +from typing_extensions import Self + +class ReplaceOperation(BaseModel): + """ + Replace attribute value or sub-resource in the existing model + """ # noqa: E501 + op: OpEnum + path: StrictStr = Field(description="A JSON Pointer path.") + value: Dict[str, Any] = Field(description="value to replace with") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 ReplaceOperation 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 ReplaceOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/route_filter_change_data.py b/equinix/services/fabricv4/models/route_filter_change_data.py new file mode 100644 index 00000000..99b277b8 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_change_data.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.route_filters_change_operation import RouteFiltersChangeOperation +from equinix.services.fabricv4.models.route_filters_change_type import RouteFiltersChangeType +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterChangeData(BaseModel): + """ + Current state of latest Route Filter change + """ # noqa: E501 + status: Optional[StrictStr] = Field(default=None, description="Current outcome of the change flow") + created_by: Optional[StrictStr] = Field(default=None, description="Created by User Key", alias="createdBy") + created_date_time: Optional[datetime] = Field(default=None, description="Set when change flow starts", 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="Set when change object is updated", alias="updatedDateTime") + information: Optional[StrictStr] = Field(default=None, description="Additional information") + data: Optional[RouteFiltersChangeOperation] = None + uuid: StrictStr = Field(description="Uniquely identifies a change") + type: RouteFiltersChangeType + href: Optional[StrictStr] = Field(default=None, description="Route Filter Change URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "href"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['COMPLETED', 'FAILED', 'REQUESTED']): + raise ValueError("must be one of enum values ('COMPLETED', 'FAILED', 'REQUESTED')") + return value + + 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 RouteFilterChangeData 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 RouteFilterChangeData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "href": obj.get("href") + }) + # 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/route_filter_change_data_response.py b/equinix/services/fabricv4/models/route_filter_change_data_response.py new file mode 100644 index 00000000..4046fc8b --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_change_data_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterChangeDataResponse(BaseModel): + """ + List of Route Filter changes + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RouteFilterChangeData]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 RouteFilterChangeDataResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFilterChangeDataResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RouteFilterChangeData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/route_filter_connections_data.py b/equinix/services/fabricv4/models/route_filter_connections_data.py new file mode 100644 index 00000000..c4ca061c --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_connections_data.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection_type import ConnectionType +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterConnectionsData(BaseModel): + """ + RouteFilterConnectionsData + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Connection URI") + type: Optional[ConnectionType] = None + uuid: Optional[StrictStr] = Field(default=None, description="Route Filter identifier") + name: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "uuid", "name"] + + 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 RouteFilterConnectionsData 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 RouteFilterConnectionsData 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"), + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "name": obj.get("name") + }) + # 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/route_filter_rule_state.py b/equinix/services/fabricv4/models/route_filter_rule_state.py new file mode 100644 index 00000000..e0871107 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rule_state.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFilterRuleState(str, Enum): + """ + Route Filter Rule status + """ + + """ + allowed enum values + """ + PROVISIONING = 'PROVISIONING' + REPROVISIONING = 'REPROVISIONING' + DEPROVISIONING = 'DEPROVISIONING' + PROVISIONED = 'PROVISIONED' + DEPROVISIONED = 'DEPROVISIONED' + NOT_PROVISIONED = 'NOT_PROVISIONED' + NOT_DEPROVISIONED = 'NOT_DEPROVISIONED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFilterRuleState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filter_rules_base.py b/equinix/services/fabricv4/models/route_filter_rules_base.py new file mode 100644 index 00000000..a17441cf --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_base.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFilterRulesBase(BaseModel): + """ + RouteFilterRulesBase + """ # noqa: E501 + name: Optional[StrictStr] = None + description: Optional[StrictStr] = Field(default=None, description="Customer-provided Route Filter Rule description") + prefix: StrictStr + prefix_match: Optional[StrictStr] = Field(default='orlonger', alias="prefixMatch") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["name", "description", "prefix", "prefixMatch"] + + 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 RouteFilterRulesBase 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 RouteFilterRulesBase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "description": obj.get("description"), + "prefix": obj.get("prefix"), + "prefixMatch": obj.get("prefixMatch") if obj.get("prefixMatch") is not None else 'orlonger' + }) + # 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/route_filter_rules_change.py b/equinix/services/fabricv4/models/route_filter_rules_change.py new file mode 100644 index 00000000..b0162a3b --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_change.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.route_filter_rules_change_type import RouteFilterRulesChangeType +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesChange(BaseModel): + """ + Current state of latest Route Filter Rule change + """ # noqa: E501 + uuid: StrictStr = Field(description="Uniquely identifies a change") + type: RouteFilterRulesChangeType + href: Optional[StrictStr] = Field(default=None, description="Route Filter Change URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "href"] + + 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 RouteFilterRulesChange 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 RouteFilterRulesChange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "href": obj.get("href") + }) + # 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/route_filter_rules_change_data.py b/equinix/services/fabricv4/models/route_filter_rules_change_data.py new file mode 100644 index 00000000..033733c2 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_change_data.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.route_filter_rules_change_operation import RouteFilterRulesChangeOperation +from equinix.services.fabricv4.models.route_filter_rules_change_type import RouteFilterRulesChangeType +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesChangeData(BaseModel): + """ + Current state of latest Route Filter Rules change + """ # noqa: E501 + status: Optional[StrictStr] = Field(default=None, description="Current outcome of the change flow") + created_by: Optional[StrictStr] = Field(default=None, description="Created by User Key", alias="createdBy") + created_date_time: Optional[datetime] = Field(default=None, description="Set when change flow starts", 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="Set when change object is updated", alias="updatedDateTime") + data: Optional[RouteFilterRulesChangeOperation] = None + uuid: StrictStr = Field(description="Uniquely identifies a change") + type: RouteFilterRulesChangeType + href: Optional[StrictStr] = Field(default=None, description="Route Filter Change URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "href"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['COMPLETED', 'FAILED', 'REQUESTED']): + raise ValueError("must be one of enum values ('COMPLETED', 'FAILED', 'REQUESTED')") + return value + + 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 RouteFilterRulesChangeData 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 RouteFilterRulesChangeData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "href": obj.get("href") + }) + # 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/route_filter_rules_change_data_response.py b/equinix/services/fabricv4/models/route_filter_rules_change_data_response.py new file mode 100644 index 00000000..abf68975 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_change_data_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesChangeDataResponse(BaseModel): + """ + List of Route Filter Rule changes + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RouteFilterRulesChangeData]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 RouteFilterRulesChangeDataResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFilterRulesChangeDataResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RouteFilterRulesChangeData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/route_filter_rules_change_operation.py b/equinix/services/fabricv4/models/route_filter_rules_change_operation.py new file mode 100644 index 00000000..bb568bd0 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_change_operation.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from equinix.services.fabricv4.models.routing_protocol_change_operation_op import RoutingProtocolChangeOperationOp +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesChangeOperation(BaseModel): + """ + Route Filter Rule change operation data + """ # noqa: E501 + op: RoutingProtocolChangeOperationOp + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: RouteFilterRulesBase + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 RouteFilterRulesChangeOperation 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, + ) + # override the default output from pydantic by calling `to_dict()` of value + if self.value: + _dict['value'] = self.value.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFilterRulesChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": RouteFilterRulesBase.from_dict(obj["value"]) if obj.get("value") is not None else None + }) + # 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/route_filter_rules_change_type.py b/equinix/services/fabricv4/models/route_filter_rules_change_type.py new file mode 100644 index 00000000..cc657575 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_change_type.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFilterRulesChangeType(str, Enum): + """ + Type of change + """ + + """ + allowed enum values + """ + BGP_IPV4_PREFIX_FILTER_RULE_UPDATE = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE' + BGP_IPV4_PREFIX_FILTER_RULE_CREATION = 'BGP_IPv4_PREFIX_FILTER_RULE_CREATION' + BGP_IPV4_PREFIX_FILTER_RULE_DELETION = 'BGP_IPv4_PREFIX_FILTER_RULE_DELETION' + BGP_IPV6_PREFIX_FILTER_RULE_UPDATE = 'BGP_IPv6_PREFIX_FILTER_RULE_UPDATE' + BGP_IPV6_PREFIX_FILTER_RULE_CREATION = 'BGP_IPv6_PREFIX_FILTER_RULE_CREATION' + BGP_IPV6_PREFIX_FILTER_RULE_DELETION = 'BGP_IPv6_PREFIX_FILTER_RULE_DELETION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFilterRulesChangeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filter_rules_data.py b/equinix/services/fabricv4/models/route_filter_rules_data.py new file mode 100644 index 00000000..c1925b90 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_data.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.changelog import Changelog +from equinix.services.fabricv4.models.route_filter_rule_state import RouteFilterRuleState +from equinix.services.fabricv4.models.route_filter_rules_change import RouteFilterRulesChange +from equinix.services.fabricv4.models.route_filter_rules_data_action import RouteFilterRulesDataAction +from equinix.services.fabricv4.models.route_filter_rules_data_type import RouteFilterRulesDataType +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesData(BaseModel): + """ + RouteFilterRulesData + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Route Filter Rules URI") + type: Optional[RouteFilterRulesDataType] = None + uuid: Optional[StrictStr] = Field(default=None, description="Route Filter Rule identifier") + name: Optional[StrictStr] = None + description: Optional[StrictStr] = Field(default=None, description="Customer-provided Route Filter Rule description") + state: Optional[RouteFilterRuleState] = None + prefix_match: Optional[StrictStr] = Field(default='orlonger', description="prefix matching operator", alias="prefixMatch") + change: Optional[RouteFilterRulesChange] = None + action: Optional[RouteFilterRulesDataAction] = None + prefix: Optional[StrictStr] = None + changelog: Optional[Changelog] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "uuid", "name", "description", "state", "prefixMatch", "change", "action", "prefix", "changelog"] + + 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 RouteFilterRulesData 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, + ) + # 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 changelog + if self.changelog: + _dict['changelog'] = self.changelog.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFilterRulesData 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"), + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "state": obj.get("state"), + "prefixMatch": obj.get("prefixMatch") if obj.get("prefixMatch") is not None else 'orlonger', + "change": RouteFilterRulesChange.from_dict(obj["change"]) if obj.get("change") is not None else None, + "action": obj.get("action"), + "prefix": obj.get("prefix"), + "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None + }) + # 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/route_filter_rules_data_action.py b/equinix/services/fabricv4/models/route_filter_rules_data_action.py new file mode 100644 index 00000000..0e477e08 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_data_action.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFilterRulesDataAction(str, Enum): + """ + RouteFilterRulesDataAction + """ + + """ + allowed enum values + """ + PERMIT = 'PERMIT' + DENY = 'DENY' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFilterRulesDataAction from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filter_rules_data_type.py b/equinix/services/fabricv4/models/route_filter_rules_data_type.py new file mode 100644 index 00000000..1ffde03f --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_data_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFilterRulesDataType(str, Enum): + """ + Route Filter type + """ + + """ + allowed enum values + """ + BGP_IPV4_PREFIX_FILTER_RULE = 'BGP_IPv4_PREFIX_FILTER_RULE' + BGP_IPV6_PREFIX_FILTER_RULE = 'BGP_IPv6_PREFIX_FILTER_RULE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFilterRulesDataType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filter_rules_patch_request_item.py b/equinix/services/fabricv4/models/route_filter_rules_patch_request_item.py new file mode 100644 index 00000000..a656433a --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_patch_request_item.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesPatchRequestItem(BaseModel): + """ + Route Filter Rule change operation data + """ # noqa: E501 + op: StrictStr = Field(description="Handy shortcut for operation name") + path: StrictStr = Field(description="path to change") + value: Dict[str, Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 RouteFilterRulesPatchRequestItem 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 RouteFilterRulesPatchRequestItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/route_filter_rules_post_request.py b/equinix/services/fabricv4/models/route_filter_rules_post_request.py new file mode 100644 index 00000000..e590728f --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_rules_post_request.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase +from typing import Optional, Set +from typing_extensions import Self + +class RouteFilterRulesPostRequest(BaseModel): + """ + Create Route Filter Rule POST request + """ # noqa: E501 + data: Optional[List[RouteFilterRulesBase]] = Field(default=None, description="Route Filter Rule configuration") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data"] + + 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 RouteFilterRulesPostRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFilterRulesPostRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [RouteFilterRulesBase.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/route_filter_state.py b/equinix/services/fabricv4/models/route_filter_state.py new file mode 100644 index 00000000..4f8d2e23 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filter_state.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFilterState(str, Enum): + """ + Route Filter status + """ + + """ + allowed enum values + """ + PROVISIONING = 'PROVISIONING' + REPROVISIONING = 'REPROVISIONING' + DEPROVISIONING = 'DEPROVISIONING' + PROVISIONED = 'PROVISIONED' + DEPROVISIONED = 'DEPROVISIONED' + NOT_PROVISIONED = 'NOT_PROVISIONED' + NOT_DEPROVISIONED = 'NOT_DEPROVISIONED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFilterState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filters_base.py b/equinix/services/fabricv4/models/route_filters_base.py new file mode 100644 index 00000000..f5992297 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_base.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.connection_route_filter_data_type import ConnectionRouteFilterDataType +from equinix.services.fabricv4.models.project import Project +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersBase(BaseModel): + """ + RouteFiltersBase + """ # noqa: E501 + type: ConnectionRouteFilterDataType + name: StrictStr + description: Optional[StrictStr] = Field(default=None, description="Customer-provided connection description") + project: Project + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "description", "project"] + + 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 RouteFiltersBase 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, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFiltersBase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "description": obj.get("description"), + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + # 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/route_filters_change.py b/equinix/services/fabricv4/models/route_filters_change.py new file mode 100644 index 00000000..7bdb9b0e --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_change.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.route_filters_change_type import RouteFiltersChangeType +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersChange(BaseModel): + """ + Current state of latest Route Filter change + """ # noqa: E501 + uuid: StrictStr = Field(description="Uniquely identifies a change") + type: RouteFiltersChangeType + href: Optional[StrictStr] = Field(default=None, description="Route Filter Change URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "href"] + + 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 RouteFiltersChange 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 RouteFiltersChange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "href": obj.get("href") + }) + # 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/route_filters_change_operation.py b/equinix/services/fabricv4/models/route_filters_change_operation.py new file mode 100644 index 00000000..210ff1dd --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_change_operation.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase +from equinix.services.fabricv4.models.routing_protocol_change_operation_op import RoutingProtocolChangeOperationOp +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersChangeOperation(BaseModel): + """ + Route Filter change operation data + """ # noqa: E501 + op: RoutingProtocolChangeOperationOp + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: RouteFiltersBase + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 RouteFiltersChangeOperation 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, + ) + # override the default output from pydantic by calling `to_dict()` of value + if self.value: + _dict['value'] = self.value.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFiltersChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": RouteFiltersBase.from_dict(obj["value"]) if obj.get("value") is not None else None + }) + # 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/route_filters_change_type.py b/equinix/services/fabricv4/models/route_filters_change_type.py new file mode 100644 index 00000000..4e3dc2b4 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_change_type.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFiltersChangeType(str, Enum): + """ + Type of change + """ + + """ + allowed enum values + """ + BGP_IPV4_PREFIX_FILTER_UPDATE = 'BGP_IPv4_PREFIX_FILTER_UPDATE' + BGP_IPV4_PREFIX_FILTER_CREATION = 'BGP_IPv4_PREFIX_FILTER_CREATION' + BGP_IPV4_PREFIX_FILTER_DELETION = 'BGP_IPv4_PREFIX_FILTER_DELETION' + BGP_IPV6_PREFIX_FILTER_UPDATE = 'BGP_IPv6_PREFIX_FILTER_UPDATE' + BGP_IPV6_PREFIX_FILTER_CREATION = 'BGP_IPv6_PREFIX_FILTER_CREATION' + BGP_IPV6_PREFIX_FILTER_DELETION = 'BGP_IPv6_PREFIX_FILTER_DELETION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFiltersChangeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filters_data.py b/equinix/services/fabricv4/models/route_filters_data.py new file mode 100644 index 00000000..44ae2114 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_data.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.connection_route_filter_data_type import ConnectionRouteFilterDataType +from equinix.services.fabricv4.models.route_filter_state import RouteFilterState +from equinix.services.fabricv4.models.route_filters_change import RouteFiltersChange +from equinix.services.fabricv4.models.route_filters_data_not_matched_rule_action import RouteFiltersDataNotMatchedRuleAction +from equinix.services.fabricv4.models.route_filters_data_project import RouteFiltersDataProject +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersData(BaseModel): + """ + RouteFiltersData + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Route Filter URI") + type: Optional[ConnectionRouteFilterDataType] = None + uuid: Optional[StrictStr] = Field(default=None, description="Route Filter identifier") + name: Optional[StrictStr] = None + description: Optional[StrictStr] = Field(default=None, description="Customer-provided connection description") + state: Optional[RouteFilterState] = None + change: Optional[RouteFiltersChange] = None + not_matched_rule_action: Optional[RouteFiltersDataNotMatchedRuleAction] = Field(default=None, alias="notMatchedRuleAction") + connections_count: Optional[StrictInt] = Field(default=None, alias="connectionsCount") + rules_count: Optional[StrictInt] = Field(default=None, alias="rulesCount") + project: Optional[RouteFiltersDataProject] = None + changelog: Optional[Changelog] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "uuid", "name", "description", "state", "change", "notMatchedRuleAction", "connectionsCount", "rulesCount", "project", "changelog"] + + 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 RouteFiltersData 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, + ) + # 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 project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of changelog + if self.changelog: + _dict['changelog'] = self.changelog.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFiltersData 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"), + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "state": obj.get("state"), + "change": RouteFiltersChange.from_dict(obj["change"]) if obj.get("change") is not None else None, + "notMatchedRuleAction": obj.get("notMatchedRuleAction"), + "connectionsCount": obj.get("connectionsCount"), + "rulesCount": obj.get("rulesCount"), + "project": RouteFiltersDataProject.from_dict(obj["project"]) if obj.get("project") 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 + 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/route_filters_data_not_matched_rule_action.py b/equinix/services/fabricv4/models/route_filters_data_not_matched_rule_action.py new file mode 100644 index 00000000..fb8ec130 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_data_not_matched_rule_action.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFiltersDataNotMatchedRuleAction(str, Enum): + """ + RouteFiltersDataNotMatchedRuleAction + """ + + """ + allowed enum values + """ + ALLOW = 'ALLOW' + DENY = 'DENY' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFiltersDataNotMatchedRuleAction from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filters_data_project.py b/equinix/services/fabricv4/models/route_filters_data_project.py new file mode 100644 index 00000000..45669ea4 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_data_project.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFiltersDataProject(BaseModel): + """ + RouteFiltersDataProject + """ # noqa: E501 + project_id: StrictStr = Field(description="Subscriber-assigned project ID", alias="projectId") + href: Optional[StrictStr] = Field(default=None, description="Project URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["projectId", "href"] + + 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 RouteFiltersDataProject 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 RouteFiltersDataProject from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "projectId": obj.get("projectId"), + "href": obj.get("href") + }) + # 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/route_filters_patch_request_item.py b/equinix/services/fabricv4/models/route_filters_patch_request_item.py new file mode 100644 index 00000000..d2ad30ae --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_patch_request_item.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersPatchRequestItem(BaseModel): + """ + Route Filter change operation data + """ # noqa: E501 + op: StrictStr = Field(description="Handy shortcut for operation name") + path: StrictStr = Field(description="path to change") + value: Dict[str, Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 RouteFiltersPatchRequestItem 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 RouteFiltersPatchRequestItem from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/route_filters_search_base.py b/equinix/services/fabricv4/models/route_filters_search_base.py new file mode 100644 index 00000000..46136ad3 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_search_base.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.route_filters_search_base_filter import RouteFiltersSearchBaseFilter +from equinix.services.fabricv4.models.sort_item import SortItem +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersSearchBase(BaseModel): + """ + RouteFiltersSearchBase + """ # noqa: E501 + filter: Optional[RouteFiltersSearchBaseFilter] = None + pagination: Optional[Pagination] = None + sort: Optional[List[SortItem]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 RouteFiltersSearchBase 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFiltersSearchBase from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": RouteFiltersSearchBaseFilter.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, + "sort": [SortItem.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/route_filters_search_base_filter.py b/equinix/services/fabricv4/models/route_filters_search_base_filter.py new file mode 100644 index 00000000..d4e61482 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_search_base_filter.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.route_filters_search_filter_item import RouteFiltersSearchFilterItem +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersSearchBaseFilter(BaseModel): + """ + RouteFiltersSearchBaseFilter + """ # noqa: E501 + var_and: Optional[List[RouteFiltersSearchFilterItem]] = Field(default=None, alias="and") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and"] + + 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 RouteFiltersSearchBaseFilter 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFiltersSearchBaseFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [RouteFiltersSearchFilterItem.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None + }) + # 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/route_filters_search_filter_item.py b/equinix/services/fabricv4/models/route_filters_search_filter_item.py new file mode 100644 index 00000000..9e8f5af6 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_search_filter_item.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.route_filters_search_filter_item_property import RouteFiltersSearchFilterItemProperty +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersSearchFilterItem(BaseModel): + """ + RouteFiltersSearchFilterItem + """ # noqa: E501 + var_property: Optional[RouteFiltersSearchFilterItemProperty] = Field(default=None, alias="property") + operator: Optional[StrictStr] = None + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "operator", "values"] + + 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 RouteFiltersSearchFilterItem 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 RouteFiltersSearchFilterItem 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"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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/route_filters_search_filter_item_property.py b/equinix/services/fabricv4/models/route_filters_search_filter_item_property.py new file mode 100644 index 00000000..d1b9a1c1 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_search_filter_item_property.py @@ -0,0 +1,41 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteFiltersSearchFilterItemProperty(str, Enum): + """ + RouteFiltersSearchFilterItemProperty + """ + + """ + allowed enum values + """ + SLASH_TYPE = '/type' + SLASH_NAME = '/name' + SLASH_PROJECT_SLASH_PROJECT_ID = '/project/projectId' + SLASH_UUID = '/uuid' + SLASH_STATE = '/state' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteFiltersSearchFilterItemProperty from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_filters_search_response.py b/equinix/services/fabricv4/models/route_filters_search_response.py new file mode 100644 index 00000000..bffaee69 --- /dev/null +++ b/equinix/services/fabricv4/models/route_filters_search_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData +from typing import Optional, Set +from typing_extensions import Self + +class RouteFiltersSearchResponse(BaseModel): + """ + RouteFiltersSearchResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RouteFiltersData]] = Field(default=None, description="List of Route Filters") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 RouteFiltersSearchResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteFiltersSearchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RouteFiltersData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/route_table_entry.py b/equinix/services/fabricv4/models/route_table_entry.py new file mode 100644 index 00000000..ca5d303e --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry.py @@ -0,0 +1,132 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.route_table_entry_connection import RouteTableEntryConnection +from equinix.services.fabricv4.models.route_table_entry_protocol_type import RouteTableEntryProtocolType +from equinix.services.fabricv4.models.route_table_entry_state import RouteTableEntryState +from equinix.services.fabricv4.models.route_table_entry_type import RouteTableEntryType +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntry(BaseModel): + """ + Route table entry object + """ # noqa: E501 + type: RouteTableEntryType + protocol_type: Optional[RouteTableEntryProtocolType] = Field(default=None, alias="protocolType") + state: RouteTableEntryState + age: Optional[StrictStr] = None + prefix: Optional[StrictStr] = None + next_hop: Optional[StrictStr] = Field(default=None, alias="nextHop") + metric: Optional[StrictInt] = None + local_preference: Optional[StrictInt] = Field(default=None, alias="localPreference") + as_path: Optional[List[StrictInt]] = Field(default=None, alias="asPath") + connection: Optional[RouteTableEntryConnection] = None + change_log: Changelog = Field(alias="changeLog") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "protocolType", "state", "age", "prefix", "nextHop", "metric", "localPreference", "asPath", "connection", "changeLog"] + + 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 RouteTableEntry 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, + ) + # override the default output from pydantic by calling `to_dict()` of connection + if self.connection: + _dict['connection'] = self.connection.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() + # 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 RouteTableEntry from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "protocolType": obj.get("protocolType"), + "state": obj.get("state"), + "age": obj.get("age"), + "prefix": obj.get("prefix"), + "nextHop": obj.get("nextHop"), + "metric": obj.get("metric"), + "localPreference": obj.get("localPreference"), + "asPath": obj.get("asPath"), + "connection": RouteTableEntryConnection.from_dict(obj["connection"]) if obj.get("connection") 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 + 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/route_table_entry_connection.py b/equinix/services/fabricv4/models/route_table_entry_connection.py new file mode 100644 index 00000000..ab52b9e4 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_connection.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntryConnection(BaseModel): + """ + RouteTableEntryConnection + """ # noqa: E501 + uuid: Optional[StrictStr] = None + name: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "name"] + + 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 RouteTableEntryConnection 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 RouteTableEntryConnection from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "name": obj.get("name") + }) + # 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/route_table_entry_filter.py b/equinix/services/fabricv4/models/route_table_entry_filter.py new file mode 100644 index 00000000..ea8171a5 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_filter.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Optional +from equinix.services.fabricv4.models.route_table_entry_or_filter import RouteTableEntryOrFilter +from equinix.services.fabricv4.models.route_table_entry_simple_expression import RouteTableEntrySimpleExpression +from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +ROUTETABLEENTRYFILTER_ANY_OF_SCHEMAS = ["RouteTableEntryOrFilter", "RouteTableEntrySimpleExpression"] + +class RouteTableEntryFilter(BaseModel): + """ + RouteTableEntryFilter + """ + + # data type: RouteTableEntrySimpleExpression + anyof_schema_1_validator: Optional[RouteTableEntrySimpleExpression] = None + # data type: RouteTableEntryOrFilter + anyof_schema_2_validator: Optional[RouteTableEntryOrFilter] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[RouteTableEntryOrFilter, RouteTableEntrySimpleExpression]] = None + else: + actual_instance: Any = None + any_of_schemas: List[str] = Field(default=Literal["RouteTableEntryOrFilter", "RouteTableEntrySimpleExpression"]) + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = RouteTableEntryFilter.model_construct() + error_messages = [] + # validate data type: RouteTableEntrySimpleExpression + if not isinstance(v, RouteTableEntrySimpleExpression): + error_messages.append(f"Error! Input type `{type(v)}` is not `RouteTableEntrySimpleExpression`") + else: + return v + + # validate data type: RouteTableEntryOrFilter + if not isinstance(v, RouteTableEntryOrFilter): + error_messages.append(f"Error! Input type `{type(v)}` is not `RouteTableEntryOrFilter`") + else: + return v + + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in RouteTableEntryFilter with anyOf schemas: RouteTableEntryOrFilter, RouteTableEntrySimpleExpression. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # anyof_schema_1_validator: Optional[RouteTableEntrySimpleExpression] = None + try: + instance.actual_instance = RouteTableEntrySimpleExpression.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_2_validator: Optional[RouteTableEntryOrFilter] = None + try: + instance.actual_instance = RouteTableEntryOrFilter.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into RouteTableEntryFilter with anyOf schemas: RouteTableEntryOrFilter, RouteTableEntrySimpleExpression. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], RouteTableEntryOrFilter, RouteTableEntrySimpleExpression]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/route_table_entry_filters.py b/equinix/services/fabricv4/models/route_table_entry_filters.py new file mode 100644 index 00000000..f0fdc3f3 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_filters.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.route_table_entry_filter import RouteTableEntryFilter +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntryFilters(BaseModel): + """ + RouteTableEntryFilters + """ # noqa: E501 + var_and: Optional[Annotated[List[RouteTableEntryFilter], Field(max_length=8)]] = Field(default=None, alias="and") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and"] + + 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 RouteTableEntryFilters 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteTableEntryFilters from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [RouteTableEntryFilter.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None + }) + # 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/route_table_entry_or_filter.py b/equinix/services/fabricv4/models/route_table_entry_or_filter.py new file mode 100644 index 00000000..d2b3c189 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_or_filter.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.route_table_entry_simple_expression import RouteTableEntrySimpleExpression +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntryOrFilter(BaseModel): + """ + RouteTableEntryOrFilter + """ # noqa: E501 + var_or: Optional[Annotated[List[RouteTableEntrySimpleExpression], Field(max_length=3)]] = Field(default=None, alias="or") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["or"] + + 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 RouteTableEntryOrFilter 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_or (list) + _items = [] + if self.var_or: + for _item in self.var_or: + if _item: + _items.append(_item.to_dict()) + _dict['or'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteTableEntryOrFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "or": [RouteTableEntrySimpleExpression.from_dict(_item) for _item in obj["or"]] if obj.get("or") is not None else None + }) + # 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/route_table_entry_protocol_type.py b/equinix/services/fabricv4/models/route_table_entry_protocol_type.py new file mode 100644 index 00000000..bd434619 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_protocol_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteTableEntryProtocolType(str, Enum): + """ + Route table entry protocol type + """ + + """ + allowed enum values + """ + BGP = 'BGP' + STATIC = 'STATIC' + DIRECT = 'DIRECT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteTableEntryProtocolType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_table_entry_search_request.py b/equinix/services/fabricv4/models/route_table_entry_search_request.py new file mode 100644 index 00000000..5c465dfd --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_search_request.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.route_table_entry_filters import RouteTableEntryFilters +from equinix.services.fabricv4.models.route_table_entry_sort_criteria import RouteTableEntrySortCriteria +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntrySearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[RouteTableEntryFilters] = None + pagination: Optional[PaginationRequest] = None + sort: Optional[List[RouteTableEntrySortCriteria]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 RouteTableEntrySearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteTableEntrySearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": RouteTableEntryFilters.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [RouteTableEntrySortCriteria.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/route_table_entry_search_response.py b/equinix/services/fabricv4/models/route_table_entry_search_response.py new file mode 100644 index 00000000..3a630b1f --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_search_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.route_table_entry import RouteTableEntry +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntrySearchResponse(BaseModel): + """ + RouteTableEntrySearchResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RouteTableEntry]] = Field(default=None, description="Data returned from the API call.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 RouteTableEntrySearchResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RouteTableEntrySearchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RouteTableEntry.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/route_table_entry_simple_expression.py b/equinix/services/fabricv4/models/route_table_entry_simple_expression.py new file mode 100644 index 00000000..9d6d0f51 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_simple_expression.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteTableEntrySimpleExpression(BaseModel): + """ + RouteTableEntrySimpleExpression + """ # noqa: E501 + var_property: Optional[StrictStr] = Field(default=None, description="Possible field names to use on filters: * `/type` - Route table entry type * `/prefix` - Route table entry prefix * `/nextHop` - Route table entry nextHop * `/state` - Route table entry state * `/*` - all-category search ", alias="property") + operator: Optional[StrictStr] = Field(default=None, description="Possible operators to use on filters: * `=` - equal * `!=` - not equal * `>` - greater than * `>=` - greater than or equal to * `<` - less than * `<=` - less than or equal to * `[NOT] BETWEEN` - (not) between * `[NOT] LIKE` - (not) like * `[NOT] IN` - (not) in * `~*` - case-insensitive like ") + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "operator", "values"] + + 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 RouteTableEntrySimpleExpression 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 RouteTableEntrySimpleExpression 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"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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/route_table_entry_sort_by.py b/equinix/services/fabricv4/models/route_table_entry_sort_by.py new file mode 100644 index 00000000..3b3818f5 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_sort_by.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteTableEntrySortBy(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + SLASH_PREFIX = '/prefix' + SLASH_NEXT_HOP = '/nextHop' + SLASH_CONNECTION_SLASH_NAME = '/connection/name' + SLASH_TYPE = '/type' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteTableEntrySortBy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_table_entry_sort_criteria.py b/equinix/services/fabricv4/models/route_table_entry_sort_criteria.py new file mode 100644 index 00000000..f9eab828 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_sort_criteria.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.route_table_entry_sort_by import RouteTableEntrySortBy +from equinix.services.fabricv4.models.route_table_entry_sort_direction import RouteTableEntrySortDirection +from typing import Optional, Set +from typing_extensions import Self + +class RouteTableEntrySortCriteria(BaseModel): + """ + RouteTableEntrySortCriteria + """ # noqa: E501 + direction: Optional[RouteTableEntrySortDirection] = None + var_property: Optional[RouteTableEntrySortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 RouteTableEntrySortCriteria 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 RouteTableEntrySortCriteria from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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/route_table_entry_sort_direction.py b/equinix/services/fabricv4/models/route_table_entry_sort_direction.py new file mode 100644 index 00000000..e5428845 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_sort_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteTableEntrySortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteTableEntrySortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_table_entry_state.py b/equinix/services/fabricv4/models/route_table_entry_state.py new file mode 100644 index 00000000..07ce9f16 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_state.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteTableEntryState(str, Enum): + """ + Route table entry state + """ + + """ + allowed enum values + """ + ACTIVE = 'ACTIVE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteTableEntryState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/route_table_entry_type.py b/equinix/services/fabricv4/models/route_table_entry_type.py new file mode 100644 index 00000000..ca8067b7 --- /dev/null +++ b/equinix/services/fabricv4/models/route_table_entry_type.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouteTableEntryType(str, Enum): + """ + Route table entry type + """ + + """ + allowed enum values + """ + IPV4_BGP_ROUTE = 'IPv4_BGP_ROUTE' + IPV4_STATIC_ROUTE = 'IPv4_STATIC_ROUTE' + IPV4_DIRECT_ROUTE = 'IPv4_DIRECT_ROUTE' + IPV6_BGP_ROUTE = 'IPv6_BGP_ROUTE' + IPV6_STATIC_ROUTE = 'IPv6_STATIC_ROUTE' + IPV6_DIRECT_ROUTE = 'IPv6_DIRECT_ROUTE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouteTableEntryType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/router_package_code.py b/equinix/services/fabricv4/models/router_package_code.py new file mode 100644 index 00000000..5596a63b --- /dev/null +++ b/equinix/services/fabricv4/models/router_package_code.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RouterPackageCode(str, Enum): + """ + Router package code + """ + + """ + allowed enum values + """ + LAB = 'LAB' + ADVANCED = 'ADVANCED' + STANDARD = 'STANDARD' + PREMIUM = 'PREMIUM' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RouterPackageCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_base.py b/equinix/services/fabricv4/models/routing_protocol_base.py new file mode 100644 index 00000000..1181ab4c --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_base.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from equinix.services.fabricv4.models.routing_protocol_bgp_type import RoutingProtocolBGPType +from equinix.services.fabricv4.models.routing_protocol_direct_type import RoutingProtocolDirectType +from pydantic import StrictStr, Field +from typing import Union, List, Optional, Dict +from typing_extensions import Literal, Self + +ROUTINGPROTOCOLBASE_ONE_OF_SCHEMAS = ["RoutingProtocolBGPType", "RoutingProtocolDirectType"] + +class RoutingProtocolBase(BaseModel): + """ + RoutingProtocolBase + """ + # data type: RoutingProtocolBGPType + oneof_schema_1_validator: Optional[RoutingProtocolBGPType] = None + # data type: RoutingProtocolDirectType + oneof_schema_2_validator: Optional[RoutingProtocolDirectType] = None + actual_instance: Optional[Union[RoutingProtocolBGPType, RoutingProtocolDirectType]] = None + one_of_schemas: List[str] = Field(default=Literal["RoutingProtocolBGPType", "RoutingProtocolDirectType"]) + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = RoutingProtocolBase.model_construct() + error_messages = [] + match = 0 + # validate data type: RoutingProtocolBGPType + if not isinstance(v, RoutingProtocolBGPType): + error_messages.append(f"Error! Input type `{type(v)}` is not `RoutingProtocolBGPType`") + else: + match += 1 + # validate data type: RoutingProtocolDirectType + if not isinstance(v, RoutingProtocolDirectType): + error_messages.append(f"Error! Input type `{type(v)}` is not `RoutingProtocolDirectType`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in RoutingProtocolBase with oneOf schemas: RoutingProtocolBGPType, RoutingProtocolDirectType. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in RoutingProtocolBase with oneOf schemas: RoutingProtocolBGPType, RoutingProtocolDirectType. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into RoutingProtocolBGPType + try: + instance.actual_instance = RoutingProtocolBGPType.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into RoutingProtocolDirectType + try: + instance.actual_instance = RoutingProtocolDirectType.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into RoutingProtocolBase with oneOf schemas: RoutingProtocolBGPType, RoutingProtocolDirectType. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into RoutingProtocolBase with oneOf schemas: RoutingProtocolBGPType, RoutingProtocolDirectType. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], RoutingProtocolBGPType, RoutingProtocolDirectType]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_bfd.py b/equinix/services/fabricv4/models/routing_protocol_bfd.py new file mode 100644 index 00000000..c9abcc4f --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_bfd.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolBFD(BaseModel): + """ + RoutingProtocolBFD + """ # noqa: E501 + enabled: StrictBool + interval: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["enabled", "interval"] + + 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 RoutingProtocolBFD 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 RoutingProtocolBFD from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled"), + "interval": obj.get("interval") + }) + # 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/routing_protocol_bgp_data.py b/equinix/services/fabricv4/models/routing_protocol_bgp_data.py new file mode 100644 index 00000000..aec797c1 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_bgp_data.py @@ -0,0 +1,153 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.bgp_connection_ipv4 import BGPConnectionIpv4 +from equinix.services.fabricv4.models.bgp_connection_ipv6 import BGPConnectionIpv6 +from equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.routing_protocol_bfd import RoutingProtocolBFD +from equinix.services.fabricv4.models.routing_protocol_bgp_data_state import RoutingProtocolBGPDataState +from equinix.services.fabricv4.models.routing_protocol_bgp_type_type import RoutingProtocolBGPTypeType +from equinix.services.fabricv4.models.routing_protocol_change import RoutingProtocolChange +from equinix.services.fabricv4.models.routing_protocol_operation import RoutingProtocolOperation +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolBGPData(BaseModel): + """ + RoutingProtocolBGPData + """ # noqa: E501 + type: Optional[RoutingProtocolBGPTypeType] = None + name: Optional[StrictStr] = None + bgp_ipv4: Optional[BGPConnectionIpv4] = Field(default=None, alias="bgpIpv4") + bgp_ipv6: Optional[BGPConnectionIpv6] = Field(default=None, alias="bgpIpv6") + customer_asn: Optional[StrictInt] = Field(default=None, description="Customer asn", alias="customerAsn") + equinix_asn: Optional[StrictInt] = Field(default=None, description="Equinix asn", alias="equinixAsn") + bgp_auth_key: Optional[StrictStr] = Field(default=None, description="BGP authorization key", alias="bgpAuthKey") + bfd: Optional[RoutingProtocolBFD] = None + href: Optional[StrictStr] = Field(default=None, description="Routing Protocol URI") + uuid: Optional[StrictStr] = Field(default=None, description="Routing protocol identifier") + state: Optional[RoutingProtocolBGPDataState] = None + operation: Optional[RoutingProtocolOperation] = None + change: Optional[RoutingProtocolChange] = None + changelog: Optional[Changelog] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "bgpIpv4", "bgpIpv6", "customerAsn", "equinixAsn", "bgpAuthKey", "bfd", "href", "uuid", "state", "operation", "change", "changelog"] + + 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 RoutingProtocolBGPData 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, + ) + # override the default output from pydantic by calling `to_dict()` of bgp_ipv4 + if self.bgp_ipv4: + _dict['bgpIpv4'] = self.bgp_ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of bgp_ipv6 + if self.bgp_ipv6: + _dict['bgpIpv6'] = self.bgp_ipv6.to_dict() + # override the default output from pydantic by calling `to_dict()` of bfd + if self.bfd: + _dict['bfd'] = self.bfd.to_dict() + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.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 changelog + if self.changelog: + _dict['changelog'] = self.changelog.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolBGPData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "bgpIpv4": BGPConnectionIpv4.from_dict(obj["bgpIpv4"]) if obj.get("bgpIpv4") is not None else None, + "bgpIpv6": BGPConnectionIpv6.from_dict(obj["bgpIpv6"]) if obj.get("bgpIpv6") is not None else None, + "customerAsn": obj.get("customerAsn"), + "equinixAsn": obj.get("equinixAsn"), + "bgpAuthKey": obj.get("bgpAuthKey"), + "bfd": RoutingProtocolBFD.from_dict(obj["bfd"]) if obj.get("bfd") is not None else None, + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "state": obj.get("state"), + "operation": RoutingProtocolOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "change": RoutingProtocolChange.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 + 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/routing_protocol_bgp_data_state.py b/equinix/services/fabricv4/models/routing_protocol_bgp_data_state.py new file mode 100644 index 00000000..05acd272 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_bgp_data_state.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RoutingProtocolBGPDataState(str, Enum): + """ + RoutingProtocolBGPDataState + """ + + """ + allowed enum values + """ + PROVISIONED = 'PROVISIONED' + DEPROVISIONED = 'DEPROVISIONED' + PROVISIONING = 'PROVISIONING' + DEPROVISIONING = 'DEPROVISIONING' + REPROVISIONING = 'REPROVISIONING' + FAILED = 'FAILED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RoutingProtocolBGPDataState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_bgp_type.py b/equinix/services/fabricv4/models/routing_protocol_bgp_type.py new file mode 100644 index 00000000..213ccc70 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_bgp_type.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.bgp_connection_ipv4 import BGPConnectionIpv4 +from equinix.services.fabricv4.models.bgp_connection_ipv6 import BGPConnectionIpv6 +from equinix.services.fabricv4.models.routing_protocol_bfd import RoutingProtocolBFD +from equinix.services.fabricv4.models.routing_protocol_bgp_type_type import RoutingProtocolBGPTypeType +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolBGPType(BaseModel): + """ + RoutingProtocolBGPType + """ # noqa: E501 + type: RoutingProtocolBGPTypeType + name: Optional[StrictStr] = None + bgp_ipv4: Optional[BGPConnectionIpv4] = Field(default=None, alias="bgpIpv4") + bgp_ipv6: Optional[BGPConnectionIpv6] = Field(default=None, alias="bgpIpv6") + customer_asn: Optional[StrictInt] = Field(default=None, description="Customer asn", alias="customerAsn") + equinix_asn: Optional[StrictInt] = Field(default=None, description="Equinix asn", alias="equinixAsn") + bgp_auth_key: Optional[StrictStr] = Field(default=None, description="BGP authorization key", alias="bgpAuthKey") + bfd: Optional[RoutingProtocolBFD] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "bgpIpv4", "bgpIpv6", "customerAsn", "equinixAsn", "bgpAuthKey", "bfd"] + + 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 RoutingProtocolBGPType 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, + ) + # override the default output from pydantic by calling `to_dict()` of bgp_ipv4 + if self.bgp_ipv4: + _dict['bgpIpv4'] = self.bgp_ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of bgp_ipv6 + if self.bgp_ipv6: + _dict['bgpIpv6'] = self.bgp_ipv6.to_dict() + # override the default output from pydantic by calling `to_dict()` of bfd + if self.bfd: + _dict['bfd'] = self.bfd.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolBGPType from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "bgpIpv4": BGPConnectionIpv4.from_dict(obj["bgpIpv4"]) if obj.get("bgpIpv4") is not None else None, + "bgpIpv6": BGPConnectionIpv6.from_dict(obj["bgpIpv6"]) if obj.get("bgpIpv6") is not None else None, + "customerAsn": obj.get("customerAsn"), + "equinixAsn": obj.get("equinixAsn"), + "bgpAuthKey": obj.get("bgpAuthKey"), + "bfd": RoutingProtocolBFD.from_dict(obj["bfd"]) if obj.get("bfd") is not None else None + }) + # 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/routing_protocol_bgp_type_type.py b/equinix/services/fabricv4/models/routing_protocol_bgp_type_type.py new file mode 100644 index 00000000..01b39444 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_bgp_type_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RoutingProtocolBGPTypeType(str, Enum): + """ + Routing protocol type + """ + + """ + allowed enum values + """ + BGP = 'BGP' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RoutingProtocolBGPTypeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_change.py b/equinix/services/fabricv4/models/routing_protocol_change.py new file mode 100644 index 00000000..c83bb93a --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_change.py @@ -0,0 +1,106 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.routing_protocol_change_type import RoutingProtocolChangeType +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolChange(BaseModel): + """ + Current state of latest Routing Protocol change + """ # noqa: E501 + uuid: StrictStr = Field(description="Uniquely identifies a change") + type: RoutingProtocolChangeType + href: Optional[StrictStr] = Field(default=None, description="Routing Protocol Change URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "href"] + + 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 RoutingProtocolChange 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 RoutingProtocolChange from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "href": obj.get("href") + }) + # 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/routing_protocol_change_data.py b/equinix/services/fabricv4/models/routing_protocol_change_data.py new file mode 100644 index 00000000..71c265d2 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_change_data.py @@ -0,0 +1,125 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, field_validator +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.routing_protocol_change_operation import RoutingProtocolChangeOperation +from equinix.services.fabricv4.models.routing_protocol_change_type import RoutingProtocolChangeType +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolChangeData(BaseModel): + """ + Current state of latest Routing Protocol change + """ # noqa: E501 + status: Optional[StrictStr] = Field(default=None, description="Current outcome of the change flow") + created_by: Optional[StrictStr] = Field(default=None, description="Created by User Key", alias="createdBy") + created_date_time: Optional[datetime] = Field(default=None, description="Set when change flow starts", 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="Set when change object is updated", alias="updatedDateTime") + information: Optional[StrictStr] = Field(default=None, description="Additional information") + data: Optional[RoutingProtocolChangeOperation] = None + uuid: StrictStr = Field(description="Uniquely identifies a change") + type: RoutingProtocolChangeType + href: Optional[StrictStr] = Field(default=None, description="Routing Protocol Change URI") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "href"] + + @field_validator('status') + def status_validate_enum(cls, value): + """Validates the enum""" + if value is None: + return value + + if value not in set(['COMPLETED', 'FAILED', 'REQUESTED']): + raise ValueError("must be one of enum values ('COMPLETED', 'FAILED', 'REQUESTED')") + return value + + 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 RoutingProtocolChangeData 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 RoutingProtocolChangeData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "href": obj.get("href") + }) + # 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/routing_protocol_change_data_response.py b/equinix/services/fabricv4/models/routing_protocol_change_data_response.py new file mode 100644 index 00000000..a6f0e9e0 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_change_data_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolChangeDataResponse(BaseModel): + """ + List of network changes + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[RoutingProtocolChangeData]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 RoutingProtocolChangeDataResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolChangeDataResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [RoutingProtocolChangeData.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/routing_protocol_change_operation.py b/equinix/services/fabricv4/models/routing_protocol_change_operation.py new file mode 100644 index 00000000..b7b3efbd --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_change_operation.py @@ -0,0 +1,110 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase +from equinix.services.fabricv4.models.routing_protocol_change_operation_op import RoutingProtocolChangeOperationOp +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolChangeOperation(BaseModel): + """ + Routing Protocol change operation data + """ # noqa: E501 + op: RoutingProtocolChangeOperationOp + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: RoutingProtocolBase + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 RoutingProtocolChangeOperation 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, + ) + # override the default output from pydantic by calling `to_dict()` of value + if self.value: + _dict['value'] = self.value.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": RoutingProtocolBase.from_dict(obj["value"]) if obj.get("value") is not None else None + }) + # 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/routing_protocol_change_operation_op.py b/equinix/services/fabricv4/models/routing_protocol_change_operation_op.py new file mode 100644 index 00000000..c4a844fc --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_change_operation_op.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RoutingProtocolChangeOperationOp(str, Enum): + """ + Handy shortcut for operation name + """ + + """ + allowed enum values + """ + ADD = 'add' + REPLACE = 'replace' + REMOVE = 'remove' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RoutingProtocolChangeOperationOp from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_change_type.py b/equinix/services/fabricv4/models/routing_protocol_change_type.py new file mode 100644 index 00000000..cc7e6f10 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_change_type.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RoutingProtocolChangeType(str, Enum): + """ + Type of change + """ + + """ + allowed enum values + """ + ROUTING_PROTOCOL_UPDATE = 'ROUTING_PROTOCOL_UPDATE' + ROUTING_PROTOCOL_CREATION = 'ROUTING_PROTOCOL_CREATION' + ROUTING_PROTOCOL_DELETION = 'ROUTING_PROTOCOL_DELETION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RoutingProtocolChangeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_data.py b/equinix/services/fabricv4/models/routing_protocol_data.py new file mode 100644 index 00000000..ac7c3b83 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_data.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from equinix.services.fabricv4.models.routing_protocol_bgp_data import RoutingProtocolBGPData +from equinix.services.fabricv4.models.routing_protocol_direct_data import RoutingProtocolDirectData +from pydantic import StrictStr, Field +from typing import Union, List, Optional, Dict +from typing_extensions import Literal, Self + +ROUTINGPROTOCOLDATA_ONE_OF_SCHEMAS = ["RoutingProtocolBGPData", "RoutingProtocolDirectData"] + +class RoutingProtocolData(BaseModel): + """ + RoutingProtocolData + """ + # data type: RoutingProtocolBGPData + oneof_schema_1_validator: Optional[RoutingProtocolBGPData] = None + # data type: RoutingProtocolDirectData + oneof_schema_2_validator: Optional[RoutingProtocolDirectData] = None + actual_instance: Optional[Union[RoutingProtocolBGPData, RoutingProtocolDirectData]] = None + one_of_schemas: List[str] = Field(default=Literal["RoutingProtocolBGPData", "RoutingProtocolDirectData"]) + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = RoutingProtocolData.model_construct() + error_messages = [] + match = 0 + # validate data type: RoutingProtocolBGPData + if not isinstance(v, RoutingProtocolBGPData): + error_messages.append(f"Error! Input type `{type(v)}` is not `RoutingProtocolBGPData`") + else: + match += 1 + # validate data type: RoutingProtocolDirectData + if not isinstance(v, RoutingProtocolDirectData): + error_messages.append(f"Error! Input type `{type(v)}` is not `RoutingProtocolDirectData`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in RoutingProtocolData with oneOf schemas: RoutingProtocolBGPData, RoutingProtocolDirectData. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in RoutingProtocolData with oneOf schemas: RoutingProtocolBGPData, RoutingProtocolDirectData. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into RoutingProtocolBGPData + try: + instance.actual_instance = RoutingProtocolBGPData.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into RoutingProtocolDirectData + try: + instance.actual_instance = RoutingProtocolDirectData.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into RoutingProtocolData with oneOf schemas: RoutingProtocolBGPData, RoutingProtocolDirectData. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into RoutingProtocolData with oneOf schemas: RoutingProtocolBGPData, RoutingProtocolDirectData. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], RoutingProtocolBGPData, RoutingProtocolDirectData]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_direct_data.py b/equinix/services/fabricv4/models/routing_protocol_direct_data.py new file mode 100644 index 00000000..ca3fd7a0 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_direct_data.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.changelog import Changelog +from equinix.services.fabricv4.models.direct_connection_ipv4 import DirectConnectionIpv4 +from equinix.services.fabricv4.models.direct_connection_ipv6 import DirectConnectionIpv6 +from equinix.services.fabricv4.models.routing_protocol_bgp_data_state import RoutingProtocolBGPDataState +from equinix.services.fabricv4.models.routing_protocol_change import RoutingProtocolChange +from equinix.services.fabricv4.models.routing_protocol_direct_type_type import RoutingProtocolDirectTypeType +from equinix.services.fabricv4.models.routing_protocol_operation import RoutingProtocolOperation +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolDirectData(BaseModel): + """ + RoutingProtocolDirectData + """ # noqa: E501 + type: Optional[RoutingProtocolDirectTypeType] = None + name: Optional[StrictStr] = None + direct_ipv4: Optional[DirectConnectionIpv4] = Field(default=None, alias="directIpv4") + direct_ipv6: Optional[DirectConnectionIpv6] = Field(default=None, alias="directIpv6") + href: Optional[StrictStr] = Field(default=None, description="Routing Protocol URI") + uuid: Optional[StrictStr] = Field(default=None, description="Routing protocol identifier") + state: Optional[RoutingProtocolBGPDataState] = None + operation: Optional[RoutingProtocolOperation] = None + change: Optional[RoutingProtocolChange] = None + changelog: Optional[Changelog] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "directIpv4", "directIpv6", "href", "uuid", "state", "operation", "change", "changelog"] + + 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 RoutingProtocolDirectData 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, + ) + # override the default output from pydantic by calling `to_dict()` of direct_ipv4 + if self.direct_ipv4: + _dict['directIpv4'] = self.direct_ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of direct_ipv6 + if self.direct_ipv6: + _dict['directIpv6'] = self.direct_ipv6.to_dict() + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.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 changelog + if self.changelog: + _dict['changelog'] = self.changelog.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolDirectData from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "directIpv4": DirectConnectionIpv4.from_dict(obj["directIpv4"]) if obj.get("directIpv4") is not None else None, + "directIpv6": DirectConnectionIpv6.from_dict(obj["directIpv6"]) if obj.get("directIpv6") is not None else None, + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "state": obj.get("state"), + "operation": RoutingProtocolOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "change": RoutingProtocolChange.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 + 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/routing_protocol_direct_type.py b/equinix/services/fabricv4/models/routing_protocol_direct_type.py new file mode 100644 index 00000000..12c34d44 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_direct_type.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.direct_connection_ipv4 import DirectConnectionIpv4 +from equinix.services.fabricv4.models.direct_connection_ipv6 import DirectConnectionIpv6 +from equinix.services.fabricv4.models.routing_protocol_direct_type_type import RoutingProtocolDirectTypeType +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolDirectType(BaseModel): + """ + RoutingProtocolDirectType + """ # noqa: E501 + type: RoutingProtocolDirectTypeType + name: Optional[StrictStr] = None + direct_ipv4: Optional[DirectConnectionIpv4] = Field(default=None, alias="directIpv4") + direct_ipv6: Optional[DirectConnectionIpv6] = Field(default=None, alias="directIpv6") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "name", "directIpv4", "directIpv6"] + + 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 RoutingProtocolDirectType 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, + ) + # override the default output from pydantic by calling `to_dict()` of direct_ipv4 + if self.direct_ipv4: + _dict['directIpv4'] = self.direct_ipv4.to_dict() + # override the default output from pydantic by calling `to_dict()` of direct_ipv6 + if self.direct_ipv6: + _dict['directIpv6'] = self.direct_ipv6.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolDirectType from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "name": obj.get("name"), + "directIpv4": DirectConnectionIpv4.from_dict(obj["directIpv4"]) if obj.get("directIpv4") is not None else None, + "directIpv6": DirectConnectionIpv6.from_dict(obj["directIpv6"]) if obj.get("directIpv6") is not None else None + }) + # 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/routing_protocol_direct_type_type.py b/equinix/services/fabricv4/models/routing_protocol_direct_type_type.py new file mode 100644 index 00000000..e7da7811 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_direct_type_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 RoutingProtocolDirectTypeType(str, Enum): + """ + Routing protocol type + """ + + """ + allowed enum values + """ + DIRECT = 'DIRECT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of RoutingProtocolDirectTypeType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/routing_protocol_operation.py b/equinix/services/fabricv4/models/routing_protocol_operation.py new file mode 100644 index 00000000..2b0ce074 --- /dev/null +++ b/equinix/services/fabricv4/models/routing_protocol_operation.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.error import Error +from typing import Optional, Set +from typing_extensions import Self + +class RoutingProtocolOperation(BaseModel): + """ + RoutingProtocolOperation + """ # noqa: E501 + errors: Optional[List[Error]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["errors"] + + 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 RoutingProtocolOperation 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in errors (list) + _items = [] + if self.errors: + for _item in self.errors: + if _item: + _items.append(_item.to_dict()) + _dict['errors'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of RoutingProtocolOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "errors": [Error.from_dict(_item) for _item in obj["errors"]] if obj.get("errors") is not None else None + }) + # 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/search_expression.py b/equinix/services/fabricv4/models/search_expression.py new file mode 100644 index 00000000..f1cc2863 --- /dev/null +++ b/equinix/services/fabricv4/models/search_expression.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.expression_operator import ExpressionOperator +from typing import Optional, Set +from typing_extensions import Self + +class SearchExpression(BaseModel): + """ + SearchExpression + """ # noqa: E501 + var_and: Optional[List[SearchExpression]] = Field(default=None, alias="and") + var_or: Optional[List[SearchExpression]] = Field(default=None, alias="or") + var_property: Optional[StrictStr] = Field(default=None, alias="property") + operator: Optional[ExpressionOperator] = None + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and", "or", "property", "operator", "values"] + + 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 SearchExpression 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in var_or (list) + _items = [] + if self.var_or: + for _item in self.var_or: + if _item: + _items.append(_item.to_dict()) + _dict['or'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SearchExpression from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [SearchExpression.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None, + "or": [SearchExpression.from_dict(_item) for _item in obj["or"]] if obj.get("or") is not None else None, + "property": obj.get("property"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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 + +# TODO: Rewrite to not use raise_errors +SearchExpression.model_rebuild(raise_errors=False) + diff --git a/equinix/services/fabricv4/models/search_field_name.py b/equinix/services/fabricv4/models/search_field_name.py new file mode 100644 index 00000000..db0450e7 --- /dev/null +++ b/equinix/services/fabricv4/models/search_field_name.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SearchFieldName(str, Enum): + """ + Possible field names to use on filters + """ + + """ + allowed enum values + """ + SLASH_IS_REMOTE = '/isRemote' + SLASH_NAME = '/name' + SLASH_UUID = '/uuid' + SLASH_TYPE = '/type' + SLASH_GEO_SCOPE = '/geoScope' + SLASH_ACCOUNT_SLASH_ORG_ID = '/account/orgId' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_ACCOUNT_SLASH_ACCOUNT_NAME = '/aSide/accessPoint/account/accountName' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_ACCOUNT_SLASH_ACCOUNT_NUMBER = '/aSide/accessPoint/account/accountNumber' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_ROUTER_SLASH_UUID = '/aSide/accessPoint/router/uuid' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_C_TAG = '/aSide/accessPoint/linkProtocol/vlanCTag' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_S_TAG = '/aSide/accessPoint/linkProtocol/vlanSTag' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_TAG_MIN = '/aSide/accessPoint/linkProtocol/vlanTagMin' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_TAG_MAX = '/aSide/accessPoint/linkProtocol/vlanTagMax' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_CODE = '/aSide/accessPoint/location/metroCode' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_NAME = '/aSide/accessPoint/location/metroName' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_NAME = '/aSide/accessPoint/name' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_PORT_SLASH_UUID = '/aSide/accessPoint/port/uuid' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_PORT_SLASH_NAME = '/aSide/accessPoint/port/name' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_TYPE = '/aSide/accessPoint/type' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_VIRTUAL_DEVICE_SLASH_NAME = '/aSide/accessPoint/virtualDevice/name' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_VIRTUAL_DEVICE_SLASH_UUID = '/aSide/accessPoint/virtualDevice/uuid' + SLASH_A_SIDE_SLASH_SERVICE_TOKEN_SLASH_UUID = '/aSide/serviceToken/uuid' + SLASH_CHANGE_SLASH_STATUS = '/change/status' + SLASH_OPERATION_SLASH_EQUINIX_STATUS = '/operation/equinixStatus' + SLASH_OPERATION_SLASH_PROVIDER_STATUS = '/operation/providerStatus' + SLASH_PROJECT_SLASH_PROJECT_ID = '/project/projectId' + SLASH_REDUNDANCY_SLASH_GROUP = '/redundancy/group' + SLASH_REDUNDANCY_SLASH_PRIORITY = '/redundancy/priority' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_ACCOUNT_SLASH_ACCOUNT_NAME = '/zSide/accessPoint/account/accountName' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_AUTHENTICATION_KEY = '/zSide/accessPoint/authenticationKey' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_C_TAG = '/zSide/accessPoint/linkProtocol/vlanCTag' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_S_TAG = '/zSide/accessPoint/linkProtocol/vlanSTag' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_TAG_MIN = '/zSide/accessPoint/linkProtocol/vlanTagMin' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_TAG_MAX = '/zSide/accessPoint/linkProtocol/vlanTagMax' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_CODE = '/zSide/accessPoint/location/metroCode' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_NAME = '/zSide/accessPoint/location/metroName' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_NAME = '/zSide/accessPoint/name' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_PORT_SLASH_UUID = '/zSide/accessPoint/port/uuid' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_NETWORK_SLASH_UUID = '/zSide/accessPoint/network/uuid' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_PORT_SLASH_NAME = '/zSide/accessPoint/port/name' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_PROFILE_SLASH_UUID = '/zSide/accessPoint/profile/uuid' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_TYPE = '/zSide/accessPoint/type' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_VIRTUAL_DEVICE_SLASH_NAME = '/zSide/accessPoint/virtualDevice/name' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_VIRTUAL_DEVICE_SLASH_UUID = '/zSide/accessPoint/virtualDevice/uuid' + SLASH_Z_SIDE_SLASH_SERVICE_TOKEN_SLASH_UUID = '/zSide/serviceToken/uuid' + SLASH_Z_SIDE_SLASH_INTERNET_ACCESS_SLASH_UUID = '/zSide/internetAccess/uuid' + STAR = '*' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SearchFieldName from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/search_request.py b/equinix/services/fabricv4/models/search_request.py new file mode 100644 index 00000000..efba342d --- /dev/null +++ b/equinix/services/fabricv4/models/search_request.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.expression import Expression +from equinix.services.fabricv4.models.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.sort_criteria import SortCriteria +from typing import Optional, Set +from typing_extensions import Self + +class SearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[Expression] = None + pagination: Optional[PaginationRequest] = None + sort: Optional[List[SortCriteria]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 SearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": Expression.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [SortCriteria.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/search_response.py b/equinix/services/fabricv4/models/search_response.py new file mode 100644 index 00000000..9b6fd2a4 --- /dev/null +++ b/equinix/services/fabricv4/models/search_response.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.cloud_router import CloudRouter +from equinix.services.fabricv4.models.pagination import Pagination +from typing import Optional, Set +from typing_extensions import Self + +class SearchResponse(BaseModel): + """ + SearchResponse + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[CloudRouter]] = Field(default=None, description="Data returned from the API call.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 SearchResponse 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SearchResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [CloudRouter.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/service_metro.py b/equinix/services/fabricv4/models/service_metro.py new file mode 100644 index 00000000..b4b19259 --- /dev/null +++ b/equinix/services/fabricv4/models/service_metro.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ServiceMetro(BaseModel): + """ + ServiceMetro + """ # noqa: E501 + code: Optional[StrictStr] = Field(default=None, description="metro code") + name: Optional[StrictStr] = Field(default=None, description="metro name") + vc_bandwidth_max: Optional[StrictInt] = Field(default=None, description="max VC speed supported in Mbps", alias="vcBandwidthMax") + ibxs: Optional[List[StrictStr]] = None + in_trail: Optional[StrictBool] = Field(default=None, alias="inTrail") + display_name: Optional[StrictStr] = Field(default=None, description="service metro display name", alias="displayName") + seller_regions: Optional[Dict[str, StrictStr]] = Field(default=None, alias="sellerRegions") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["code", "name", "vcBandwidthMax", "ibxs", "inTrail", "displayName", "sellerRegions"] + + 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 ServiceMetro 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 ServiceMetro from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code"), + "name": obj.get("name"), + "vcBandwidthMax": obj.get("vcBandwidthMax"), + "ibxs": obj.get("ibxs"), + "inTrail": obj.get("inTrail"), + "displayName": obj.get("displayName"), + "sellerRegions": obj.get("sellerRegions") + }) + # 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/service_metros.py b/equinix/services/fabricv4/models/service_metros.py new file mode 100644 index 00000000..b73e8fad --- /dev/null +++ b/equinix/services/fabricv4/models/service_metros.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.service_metro import ServiceMetro +from typing import Optional, Set +from typing_extensions import Self + +class ServiceMetros(BaseModel): + """ + Service Profile Metros + """ # noqa: E501 + data: Optional[List[ServiceMetro]] = None + pagination: Optional[Pagination] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "pagination"] + + 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 ServiceMetros 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.to_dict()) + _dict['data'] = _items + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceMetros from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [ServiceMetro.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + }) + # 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/service_profile.py b/equinix/services/fabricv4/models/service_profile.py new file mode 100644 index 00000000..e916e64d --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile.py @@ -0,0 +1,196 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.custom_field import CustomField +from equinix.services.fabricv4.models.marketing_info import MarketingInfo +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.service_metro import ServiceMetro +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD +from equinix.services.fabricv4.models.service_profile_state_enum import ServiceProfileStateEnum +from equinix.services.fabricv4.models.service_profile_type_enum import ServiceProfileTypeEnum +from equinix.services.fabricv4.models.service_profile_visibility_enum import ServiceProfileVisibilityEnum +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfile(BaseModel): + """ + Service Profile is a software definition for a named provider service and it's network connectivity requirements. This includes the basic marketing information and one or more sets of access points (a set per each access point type) fulfilling the provider service. + """ # noqa: E501 + state: Optional[ServiceProfileStateEnum] = None + account: Optional[Any] = Field(default=None, description="Seller Account for Service Profile.") + project: Optional[Project] = None + change_log: Optional[Any] = Field(default=None, description="Seller Account for Service Profile.", alias="changeLog") + href: Optional[StrictStr] = Field(default=None, description="Service Profile URI response attribute") + type: Optional[ServiceProfileTypeEnum] = None + name: Optional[Annotated[str, Field(strict=True, max_length=50)]] = Field(default=None, description="Customer-assigned service profile name") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned service profile identifier") + description: Optional[StrictStr] = Field(default=None, description="User-provided service description should be of maximum length 375") + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Recipients of notifications on service profile change") + tags: Optional[List[StrictStr]] = None + visibility: Optional[ServiceProfileVisibilityEnum] = None + allowed_emails: Optional[List[StrictStr]] = Field(default=None, alias="allowedEmails") + access_point_type_configs: Optional[Annotated[List[ServiceProfileAccessPointType], Field(min_length=1)]] = Field(default=None, alias="accessPointTypeConfigs") + custom_fields: Optional[List[CustomField]] = Field(default=None, alias="customFields") + marketing_info: Optional[MarketingInfo] = Field(default=None, alias="marketingInfo") + ports: Optional[List[ServiceProfileAccessPointCOLO]] = None + virtual_devices: Optional[List[ServiceProfileAccessPointVD]] = Field(default=None, alias="virtualDevices") + metros: Optional[List[ServiceMetro]] = Field(default=None, description="Derived response attribute.") + self_profile: Optional[StrictBool] = Field(default=None, description="response attribute indicates whether the profile belongs to the same organization as the api-invoker.", alias="selfProfile") + project_id: Optional[StrictStr] = Field(default=None, alias="projectId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "name", "uuid", "description", "notifications", "tags", "visibility", "allowedEmails", "accessPointTypeConfigs", "customFields", "marketingInfo", "ports", "virtualDevices", "metros", "selfProfile", "projectId"] + + 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 ServiceProfile 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in access_point_type_configs (list) + _items = [] + if self.access_point_type_configs: + for _item in self.access_point_type_configs: + if _item: + _items.append(_item.to_dict()) + _dict['accessPointTypeConfigs'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item in self.custom_fields: + if _item: + _items.append(_item.to_dict()) + _dict['customFields'] = _items + # override the default output from pydantic by calling `to_dict()` of marketing_info + if self.marketing_info: + _dict['marketingInfo'] = self.marketing_info.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in ports (list) + _items = [] + if self.ports: + for _item in self.ports: + if _item: + _items.append(_item.to_dict()) + _dict['ports'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in virtual_devices (list) + _items = [] + if self.virtual_devices: + for _item in self.virtual_devices: + if _item: + _items.append(_item.to_dict()) + _dict['virtualDevices'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in metros (list) + _items = [] + if self.metros: + for _item in self.metros: + if _item: + _items.append(_item.to_dict()) + _dict['metros'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfile 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"), + "type": obj.get("type"), + "name": obj.get("name"), + "uuid": obj.get("uuid"), + "description": obj.get("description"), + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "tags": obj.get("tags"), + "visibility": obj.get("visibility"), + "allowedEmails": obj.get("allowedEmails"), + "accessPointTypeConfigs": [ServiceProfileAccessPointType.from_dict(_item) for _item in obj["accessPointTypeConfigs"]] if obj.get("accessPointTypeConfigs") is not None else None, + "customFields": [CustomField.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "marketingInfo": MarketingInfo.from_dict(obj["marketingInfo"]) if obj.get("marketingInfo") is not None else None, + "ports": [ServiceProfileAccessPointCOLO.from_dict(_item) for _item in obj["ports"]] if obj.get("ports") is not None else None, + "virtualDevices": [ServiceProfileAccessPointVD.from_dict(_item) for _item in obj["virtualDevices"]] if obj.get("virtualDevices") is not None else None, + "metros": [ServiceMetro.from_dict(_item) for _item in obj["metros"]] if obj.get("metros") is not None else None, + "selfProfile": obj.get("selfProfile"), + "projectId": obj.get("projectId") + }) + # 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/service_profile_access_point_colo.py b/equinix/services/fabricv4/models/service_profile_access_point_colo.py new file mode 100644 index 00000000..da3cf996 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_colo.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.service_profile_access_point_colo_type import ServiceProfileAccessPointCOLOType +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileAccessPointCOLO(BaseModel): + """ + Colo Access Point + """ # noqa: E501 + type: ServiceProfileAccessPointCOLOType + uuid: StrictStr + location: Optional[SimplifiedLocation] = None + seller_region: Optional[StrictStr] = Field(default=None, alias="sellerRegion") + seller_region_description: Optional[StrictStr] = Field(default=None, alias="sellerRegionDescription") + cross_connect_id: Optional[StrictStr] = Field(default=None, alias="crossConnectId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "uuid", "location", "sellerRegion", "sellerRegionDescription", "crossConnectId"] + + 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 ServiceProfileAccessPointCOLO 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileAccessPointCOLO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "sellerRegion": obj.get("sellerRegion"), + "sellerRegionDescription": obj.get("sellerRegionDescription"), + "crossConnectId": obj.get("crossConnectId") + }) + # 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/service_profile_access_point_colo_type.py b/equinix/services/fabricv4/models/service_profile_access_point_colo_type.py new file mode 100644 index 00000000..62769da7 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_colo_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileAccessPointCOLOType(str, Enum): + """ + ServiceProfileAccessPointCOLOType + """ + + """ + allowed enum values + """ + XF_PORT = 'XF_PORT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileAccessPointCOLOType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_access_point_type.py b/equinix/services/fabricv4/models/service_profile_access_point_type.py new file mode 100644 index 00000000..35dd6f92 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_type.py @@ -0,0 +1,138 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +import pprint +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Any, List, Optional +from equinix.services.fabricv4.models.service_profile_access_point_type_colo import ServiceProfileAccessPointTypeCOLO +from equinix.services.fabricv4.models.service_profile_access_point_type_vd import ServiceProfileAccessPointTypeVD +from pydantic import StrictStr, Field +from typing import Union, List, Optional, Dict +from typing_extensions import Literal, Self + +SERVICEPROFILEACCESSPOINTTYPE_ONE_OF_SCHEMAS = ["ServiceProfileAccessPointTypeCOLO", "ServiceProfileAccessPointTypeVD"] + +class ServiceProfileAccessPointType(BaseModel): + """ + Access Point Type + """ + # data type: ServiceProfileAccessPointTypeCOLO + oneof_schema_1_validator: Optional[ServiceProfileAccessPointTypeCOLO] = None + # data type: ServiceProfileAccessPointTypeVD + oneof_schema_2_validator: Optional[ServiceProfileAccessPointTypeVD] = None + actual_instance: Optional[Union[ServiceProfileAccessPointTypeCOLO, ServiceProfileAccessPointTypeVD]] = None + one_of_schemas: List[str] = Field(default=Literal["ServiceProfileAccessPointTypeCOLO", "ServiceProfileAccessPointTypeVD"]) + + model_config = ConfigDict( + validate_assignment=True, + protected_namespaces=(), + ) + + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_oneof(cls, v): + instance = ServiceProfileAccessPointType.model_construct() + error_messages = [] + match = 0 + # validate data type: ServiceProfileAccessPointTypeCOLO + if not isinstance(v, ServiceProfileAccessPointTypeCOLO): + error_messages.append(f"Error! Input type `{type(v)}` is not `ServiceProfileAccessPointTypeCOLO`") + else: + match += 1 + # validate data type: ServiceProfileAccessPointTypeVD + if not isinstance(v, ServiceProfileAccessPointTypeVD): + error_messages.append(f"Error! Input type `{type(v)}` is not `ServiceProfileAccessPointTypeVD`") + else: + match += 1 + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when setting `actual_instance` in ServiceProfileAccessPointType with oneOf schemas: ServiceProfileAccessPointTypeCOLO, ServiceProfileAccessPointTypeVD. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when setting `actual_instance` in ServiceProfileAccessPointType with oneOf schemas: ServiceProfileAccessPointTypeCOLO, ServiceProfileAccessPointTypeVD. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + match = 0 + + # deserialize data into ServiceProfileAccessPointTypeCOLO + try: + instance.actual_instance = ServiceProfileAccessPointTypeCOLO.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # deserialize data into ServiceProfileAccessPointTypeVD + try: + instance.actual_instance = ServiceProfileAccessPointTypeVD.from_json(json_str) + match += 1 + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if match > 1: + # more than 1 match + raise ValueError("Multiple matches found when deserializing the JSON string into ServiceProfileAccessPointType with oneOf schemas: ServiceProfileAccessPointTypeCOLO, ServiceProfileAccessPointTypeVD. Details: " + ", ".join(error_messages)) + elif match == 0: + # no match + raise ValueError("No match found when deserializing the JSON string into ServiceProfileAccessPointType with oneOf schemas: ServiceProfileAccessPointTypeCOLO, ServiceProfileAccessPointTypeVD. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], ServiceProfileAccessPointTypeCOLO, ServiceProfileAccessPointTypeVD]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + # primitive type + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/service_profile_access_point_type_colo.py b/equinix/services/fabricv4/models/service_profile_access_point_type_colo.py new file mode 100644 index 00000000..90b60e80 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_type_colo.py @@ -0,0 +1,146 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictFloat, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional, Union +from equinix.services.fabricv4.models.api_config import ApiConfig +from equinix.services.fabricv4.models.authentication_key import AuthenticationKey +from equinix.services.fabricv4.models.service_profile_access_point_type_enum import ServiceProfileAccessPointTypeEnum +from equinix.services.fabricv4.models.service_profile_link_protocol_config import ServiceProfileLinkProtocolConfig +from equinix.services.fabricv4.models.service_profile_metadata import ServiceProfileMetadata +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileAccessPointTypeCOLO(BaseModel): + """ + Colo Access Point Type + """ # noqa: E501 + uuid: Optional[StrictStr] = None + type: ServiceProfileAccessPointTypeEnum + supported_bandwidths: Optional[List[StrictInt]] = Field(default=None, alias="supportedBandwidths") + allow_remote_connections: Optional[StrictBool] = Field(default=False, description="Setting to allow or prohibit remote connections to the service profile.", alias="allowRemoteConnections") + allow_custom_bandwidth: Optional[StrictBool] = Field(default=False, description="Setting to enable or disable the ability of the buyer to customize the bandwidth.", alias="allowCustomBandwidth") + bandwidth_alert_threshold: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="percentage of port bandwidth at which an allocation alert is generated - missing on wiki.", alias="bandwidthAlertThreshold") + allow_bandwidth_auto_approval: Optional[StrictBool] = Field(default=False, description="Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller.", alias="allowBandwidthAutoApproval") + allow_bandwidth_upgrade: Optional[StrictBool] = Field(default=None, description="Availability of a bandwidth upgrade. The default is false.", alias="allowBandwidthUpgrade") + link_protocol_config: Optional[ServiceProfileLinkProtocolConfig] = Field(default=None, alias="linkProtocolConfig") + enable_auto_generate_service_key: Optional[StrictBool] = Field(default=None, description="for verizon only.", alias="enableAutoGenerateServiceKey") + connection_redundancy_required: Optional[StrictBool] = Field(default=False, description="Mandate redundant connections", alias="connectionRedundancyRequired") + api_config: Optional[ApiConfig] = Field(default=None, alias="apiConfig") + connection_label: Optional[StrictStr] = Field(default=None, description="custom name for \"Connection\"", alias="connectionLabel") + authentication_key: Optional[AuthenticationKey] = Field(default=None, alias="authenticationKey") + metadata: Optional[ServiceProfileMetadata] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "supportedBandwidths", "allowRemoteConnections", "allowCustomBandwidth", "bandwidthAlertThreshold", "allowBandwidthAutoApproval", "allowBandwidthUpgrade", "linkProtocolConfig", "enableAutoGenerateServiceKey", "connectionRedundancyRequired", "apiConfig", "connectionLabel", "authenticationKey", "metadata"] + + 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 ServiceProfileAccessPointTypeCOLO 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, + ) + # override the default output from pydantic by calling `to_dict()` of link_protocol_config + if self.link_protocol_config: + _dict['linkProtocolConfig'] = self.link_protocol_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of api_config + if self.api_config: + _dict['apiConfig'] = self.api_config.to_dict() + # override the default output from pydantic by calling `to_dict()` of authentication_key + if self.authentication_key: + _dict['authenticationKey'] = self.authentication_key.to_dict() + # override the default output from pydantic by calling `to_dict()` of metadata + if self.metadata: + _dict['metadata'] = self.metadata.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileAccessPointTypeCOLO from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "supportedBandwidths": obj.get("supportedBandwidths"), + "allowRemoteConnections": obj.get("allowRemoteConnections") if obj.get("allowRemoteConnections") is not None else False, + "allowCustomBandwidth": obj.get("allowCustomBandwidth") if obj.get("allowCustomBandwidth") is not None else False, + "bandwidthAlertThreshold": obj.get("bandwidthAlertThreshold"), + "allowBandwidthAutoApproval": obj.get("allowBandwidthAutoApproval") if obj.get("allowBandwidthAutoApproval") is not None else False, + "allowBandwidthUpgrade": obj.get("allowBandwidthUpgrade"), + "linkProtocolConfig": ServiceProfileLinkProtocolConfig.from_dict(obj["linkProtocolConfig"]) if obj.get("linkProtocolConfig") is not None else None, + "enableAutoGenerateServiceKey": obj.get("enableAutoGenerateServiceKey"), + "connectionRedundancyRequired": obj.get("connectionRedundancyRequired") if obj.get("connectionRedundancyRequired") is not None else False, + "apiConfig": ApiConfig.from_dict(obj["apiConfig"]) if obj.get("apiConfig") is not None else None, + "connectionLabel": obj.get("connectionLabel"), + "authenticationKey": AuthenticationKey.from_dict(obj["authenticationKey"]) if obj.get("authenticationKey") is not None else None, + "metadata": ServiceProfileMetadata.from_dict(obj["metadata"]) if obj.get("metadata") is not None else None + }) + # 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/service_profile_access_point_type_enum.py b/equinix/services/fabricv4/models/service_profile_access_point_type_enum.py new file mode 100644 index 00000000..5d80b1ab --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_type_enum.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileAccessPointTypeEnum(str, Enum): + """ + Access point type + """ + + """ + allowed enum values + """ + VD = 'VD' + COLO = 'COLO' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileAccessPointTypeEnum from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_access_point_type_vd.py b/equinix/services/fabricv4/models/service_profile_access_point_type_vd.py new file mode 100644 index 00000000..79e87ea7 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_type_vd.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.service_profile_access_point_type_enum import ServiceProfileAccessPointTypeEnum +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileAccessPointTypeVD(BaseModel): + """ + VirtualDevice Access Point Type + """ # noqa: E501 + uuid: Optional[StrictStr] = None + type: ServiceProfileAccessPointTypeEnum + supported_bandwidths: Optional[List[StrictInt]] = Field(default=None, alias="supportedBandwidths") + allow_remote_connections: Optional[StrictBool] = Field(default=None, description="Allow remote connections to Service Profile", alias="allowRemoteConnections") + allow_custom_bandwidth: Optional[StrictBool] = Field(default=None, alias="allowCustomBandwidth") + __properties: ClassVar[List[str]] = ["uuid", "type", "supportedBandwidths", "allowRemoteConnections", "allowCustomBandwidth"] + + 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 ServiceProfileAccessPointTypeVD 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. + """ + excluded_fields: Set[str] = set([ + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileAccessPointTypeVD from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "supportedBandwidths": obj.get("supportedBandwidths"), + "allowRemoteConnections": obj.get("allowRemoteConnections"), + "allowCustomBandwidth": obj.get("allowCustomBandwidth") + }) + return _obj + + diff --git a/equinix/services/fabricv4/models/service_profile_access_point_vd.py b/equinix/services/fabricv4/models/service_profile_access_point_vd.py new file mode 100644 index 00000000..e5a5ee75 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_vd.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.service_profile_access_point_vd_type import ServiceProfileAccessPointVDType +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileAccessPointVD(BaseModel): + """ + Virtual Device Point + """ # noqa: E501 + type: ServiceProfileAccessPointVDType + uuid: StrictStr + location: Optional[SimplifiedLocation] = None + interface_uuid: Optional[StrictStr] = Field(default=None, alias="interfaceUuid") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "uuid", "location", "interfaceUuid"] + + 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 ServiceProfileAccessPointVD 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileAccessPointVD from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "uuid": obj.get("uuid"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "interfaceUuid": obj.get("interfaceUuid") + }) + # 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/service_profile_access_point_vd_type.py b/equinix/services/fabricv4/models/service_profile_access_point_vd_type.py new file mode 100644 index 00000000..731d9f59 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_access_point_vd_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileAccessPointVDType(str, Enum): + """ + ServiceProfileAccessPointVDType + """ + + """ + allowed enum values + """ + VD = 'VD' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileAccessPointVDType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_and_filter.py b/equinix/services/fabricv4/models/service_profile_and_filter.py new file mode 100644 index 00000000..8bab72ec --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_and_filter.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.service_profile_simple_expression import ServiceProfileSimpleExpression +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileAndFilter(BaseModel): + """ + ServiceProfileAndFilter + """ # noqa: E501 + var_and: Optional[List[ServiceProfileSimpleExpression]] = Field(default=None, alias="and") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and"] + + 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 ServiceProfileAndFilter 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileAndFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [ServiceProfileSimpleExpression.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None + }) + # 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/service_profile_filter.py b/equinix/services/fabricv4/models/service_profile_filter.py new file mode 100644 index 00000000..9093a4c2 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_filter.py @@ -0,0 +1,135 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +from inspect import getfullargspec +import json +import pprint +import re # noqa: F401 +from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator +from typing import Optional +from equinix.services.fabricv4.models.service_profile_and_filter import ServiceProfileAndFilter +from equinix.services.fabricv4.models.service_profile_simple_expression import ServiceProfileSimpleExpression +from typing import Union, Any, List, TYPE_CHECKING, Optional, Dict +from typing_extensions import Literal, Self +from pydantic import Field + +SERVICEPROFILEFILTER_ANY_OF_SCHEMAS = ["ServiceProfileAndFilter", "ServiceProfileSimpleExpression"] + +class ServiceProfileFilter(BaseModel): + """ + ServiceProfileFilter + """ + + # data type: ServiceProfileSimpleExpression + anyof_schema_1_validator: Optional[ServiceProfileSimpleExpression] = None + # data type: ServiceProfileAndFilter + anyof_schema_2_validator: Optional[ServiceProfileAndFilter] = None + if TYPE_CHECKING: + actual_instance: Optional[Union[ServiceProfileAndFilter, ServiceProfileSimpleExpression]] = None + else: + actual_instance: Any = None + any_of_schemas: List[str] = Field(default=Literal["ServiceProfileAndFilter", "ServiceProfileSimpleExpression"]) + + model_config = { + "validate_assignment": True, + "protected_namespaces": (), + } + + def __init__(self, *args, **kwargs) -> None: + if args: + if len(args) > 1: + raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`") + if kwargs: + raise ValueError("If a position argument is used, keyword arguments cannot be used.") + super().__init__(actual_instance=args[0]) + else: + super().__init__(**kwargs) + + @field_validator('actual_instance') + def actual_instance_must_validate_anyof(cls, v): + instance = ServiceProfileFilter.model_construct() + error_messages = [] + # validate data type: ServiceProfileSimpleExpression + if not isinstance(v, ServiceProfileSimpleExpression): + error_messages.append(f"Error! Input type `{type(v)}` is not `ServiceProfileSimpleExpression`") + else: + return v + + # validate data type: ServiceProfileAndFilter + if not isinstance(v, ServiceProfileAndFilter): + error_messages.append(f"Error! Input type `{type(v)}` is not `ServiceProfileAndFilter`") + else: + return v + + if error_messages: + # no match + raise ValueError("No match found when setting the actual_instance in ServiceProfileFilter with anyOf schemas: ServiceProfileAndFilter, ServiceProfileSimpleExpression. Details: " + ", ".join(error_messages)) + else: + return v + + @classmethod + def from_dict(cls, obj: Dict[str, Any]) -> Self: + return cls.from_json(json.dumps(obj)) + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Returns the object represented by the json string""" + instance = cls.model_construct() + error_messages = [] + # anyof_schema_1_validator: Optional[ServiceProfileSimpleExpression] = None + try: + instance.actual_instance = ServiceProfileSimpleExpression.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + # anyof_schema_2_validator: Optional[ServiceProfileAndFilter] = None + try: + instance.actual_instance = ServiceProfileAndFilter.from_json(json_str) + return instance + except (ValidationError, ValueError) as e: + error_messages.append(str(e)) + + if error_messages: + # no match + raise ValueError("No match found when deserializing the JSON string into ServiceProfileFilter with anyOf schemas: ServiceProfileAndFilter, ServiceProfileSimpleExpression. Details: " + ", ".join(error_messages)) + else: + return instance + + def to_json(self) -> str: + """Returns the JSON representation of the actual instance""" + if self.actual_instance is None: + return "null" + + if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json): + return self.actual_instance.to_json() + else: + return json.dumps(self.actual_instance) + + def to_dict(self) -> Optional[Union[Dict[str, Any], ServiceProfileAndFilter, ServiceProfileSimpleExpression]]: + """Returns the dict representation of the actual instance""" + if self.actual_instance is None: + return None + + if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict): + return self.actual_instance.to_dict() + else: + return self.actual_instance + + def to_str(self) -> str: + """Returns the string representation of the actual instance""" + return pprint.pformat(self.model_dump()) + + diff --git a/equinix/services/fabricv4/models/service_profile_link_protocol_config.py b/equinix/services/fabricv4/models/service_profile_link_protocol_config.py new file mode 100644 index 00000000..ecff7177 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_link_protocol_config.py @@ -0,0 +1,112 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation import ServiceProfileLinkProtocolConfigEncapsulation +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation_strategy import ServiceProfileLinkProtocolConfigEncapsulationStrategy +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileLinkProtocolConfig(BaseModel): + """ + Configuration for dot1q to qinq translation support + """ # noqa: E501 + encapsulation_strategy: Optional[ServiceProfileLinkProtocolConfigEncapsulationStrategy] = Field(default=None, alias="encapsulationStrategy") + named_tags: Optional[Annotated[List[StrictStr], Field(max_length=64)]] = Field(default=None, alias="namedTags") + vlan_c_tag_label: Optional[StrictStr] = Field(default=None, description="was ctagLabel", alias="vlanCTagLabel") + reuse_vlan_s_tag: Optional[StrictBool] = Field(default=False, alias="reuseVlanSTag") + encapsulation: Optional[ServiceProfileLinkProtocolConfigEncapsulation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["encapsulationStrategy", "namedTags", "vlanCTagLabel", "reuseVlanSTag", "encapsulation"] + + 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 ServiceProfileLinkProtocolConfig 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 ServiceProfileLinkProtocolConfig from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "encapsulationStrategy": obj.get("encapsulationStrategy"), + "namedTags": obj.get("namedTags"), + "vlanCTagLabel": obj.get("vlanCTagLabel"), + "reuseVlanSTag": obj.get("reuseVlanSTag") if obj.get("reuseVlanSTag") is not None else False, + "encapsulation": obj.get("encapsulation") + }) + # 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/service_profile_link_protocol_config_encapsulation.py b/equinix/services/fabricv4/models/service_profile_link_protocol_config_encapsulation.py new file mode 100644 index 00000000..ab4afed6 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_link_protocol_config_encapsulation.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileLinkProtocolConfigEncapsulation(str, Enum): + """ + Port encapsulation - Derived response attribute. Ignored on request payloads. + """ + + """ + allowed enum values + """ + QINQ = 'QINQ' + DOT1Q = 'DOT1Q' + UNTAGGED = 'UNTAGGED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileLinkProtocolConfigEncapsulation from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_link_protocol_config_encapsulation_strategy.py b/equinix/services/fabricv4/models/service_profile_link_protocol_config_encapsulation_strategy.py new file mode 100644 index 00000000..ef4a7022 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_link_protocol_config_encapsulation_strategy.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileLinkProtocolConfigEncapsulationStrategy(str, Enum): + """ + was tagType - missing on wiki + """ + + """ + allowed enum values + """ + CTAGED = 'CTAGED' + BOTH = 'BOTH' + NAMED = 'NAMED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileLinkProtocolConfigEncapsulationStrategy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_metadata.py b/equinix/services/fabricv4/models/service_profile_metadata.py new file mode 100644 index 00000000..5bf9de9c --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_metadata.py @@ -0,0 +1,137 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileMetadata(BaseModel): + """ + Metadata. Response attribute. Ignored on request payload. + """ # noqa: E501 + props: Optional[StrictStr] = None + reg_ex: Optional[StrictStr] = Field(default=None, alias="regEx") + reg_ex_msg: Optional[StrictStr] = Field(default=None, alias="regExMsg") + vlan_range_max_value: Optional[StrictInt] = Field(default=None, alias="vlanRangeMaxValue") + vlan_range_min_value: Optional[StrictInt] = Field(default=None, alias="vlanRangeMinValue") + max_qinq: Optional[StrictStr] = Field(default=None, alias="maxQinq") + max_dot1q: Optional[StrictInt] = Field(default=None, alias="maxDot1q") + variable_billing: Optional[StrictBool] = Field(default=None, alias="variableBilling") + global_organization: Optional[StrictStr] = Field(default=None, alias="globalOrganization") + limit_auth_key_conn: Optional[StrictBool] = Field(default=None, alias="limitAuthKeyConn") + allow_secondary_location: Optional[StrictBool] = Field(default=None, alias="allowSecondaryLocation") + redundant_profile_id: Optional[StrictStr] = Field(default=None, alias="redundantProfileId") + allow_vc_migration: Optional[StrictBool] = Field(default=None, alias="allowVcMigration") + connection_editable: Optional[StrictBool] = Field(default=None, alias="connectionEditable") + release_vlan: Optional[StrictBool] = Field(default=None, alias="releaseVlan") + max_connections_on_port: Optional[StrictInt] = Field(default=None, alias="maxConnectionsOnPort") + port_assignment_strategy: Optional[StrictStr] = Field(default=None, alias="portAssignmentStrategy") + eqx_managed_port: Optional[StrictBool] = Field(default=None, alias="eqxManagedPort") + connection_name_editable: Optional[StrictBool] = Field(default=None, alias="connectionNameEditable") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["props", "regEx", "regExMsg", "vlanRangeMaxValue", "vlanRangeMinValue", "maxQinq", "maxDot1q", "variableBilling", "globalOrganization", "limitAuthKeyConn", "allowSecondaryLocation", "redundantProfileId", "allowVcMigration", "connectionEditable", "releaseVlan", "maxConnectionsOnPort", "portAssignmentStrategy", "eqxManagedPort", "connectionNameEditable"] + + 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 ServiceProfileMetadata 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 ServiceProfileMetadata from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "props": obj.get("props"), + "regEx": obj.get("regEx"), + "regExMsg": obj.get("regExMsg"), + "vlanRangeMaxValue": obj.get("vlanRangeMaxValue"), + "vlanRangeMinValue": obj.get("vlanRangeMinValue"), + "maxQinq": obj.get("maxQinq"), + "maxDot1q": obj.get("maxDot1q"), + "variableBilling": obj.get("variableBilling"), + "globalOrganization": obj.get("globalOrganization"), + "limitAuthKeyConn": obj.get("limitAuthKeyConn"), + "allowSecondaryLocation": obj.get("allowSecondaryLocation"), + "redundantProfileId": obj.get("redundantProfileId"), + "allowVcMigration": obj.get("allowVcMigration"), + "connectionEditable": obj.get("connectionEditable"), + "releaseVlan": obj.get("releaseVlan"), + "maxConnectionsOnPort": obj.get("maxConnectionsOnPort"), + "portAssignmentStrategy": obj.get("portAssignmentStrategy"), + "eqxManagedPort": obj.get("eqxManagedPort"), + "connectionNameEditable": obj.get("connectionNameEditable") + }) + # 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/service_profile_request.py b/equinix/services/fabricv4/models/service_profile_request.py new file mode 100644 index 00000000..daa6b784 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_request.py @@ -0,0 +1,192 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.custom_field import CustomField +from equinix.services.fabricv4.models.marketing_info import MarketingInfo +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.service_metro import ServiceMetro +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD +from equinix.services.fabricv4.models.service_profile_type_enum import ServiceProfileTypeEnum +from equinix.services.fabricv4.models.service_profile_visibility_enum import ServiceProfileVisibilityEnum +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileRequest(BaseModel): + """ + Service Profile is a software definition for a named provider service and it's network connectivity requirements. This includes the basic marketing information and one or more sets of access points (a set per each access point type) fulfilling the provider service. + """ # noqa: E501 + project: Optional[Project] = None + href: Optional[StrictStr] = Field(default=None, description="Service Profile URI response attribute") + type: ServiceProfileTypeEnum + name: Annotated[str, Field(strict=True, max_length=50)] = Field(description="Customer-assigned service profile name") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned service profile identifier") + description: StrictStr = Field(description="User-provided service description should be of maximum length 375") + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Recipients of notifications on service profile change") + tags: Optional[List[StrictStr]] = None + visibility: Optional[ServiceProfileVisibilityEnum] = None + allowed_emails: Optional[List[StrictStr]] = Field(default=None, alias="allowedEmails") + access_point_type_configs: Optional[Annotated[List[ServiceProfileAccessPointType], Field(min_length=1)]] = Field(default=None, alias="accessPointTypeConfigs") + custom_fields: Optional[List[CustomField]] = Field(default=None, alias="customFields") + marketing_info: Optional[MarketingInfo] = Field(default=None, alias="marketingInfo") + ports: Optional[List[ServiceProfileAccessPointCOLO]] = None + virtual_devices: Optional[List[ServiceProfileAccessPointVD]] = Field(default=None, alias="virtualDevices") + metros: Optional[List[ServiceMetro]] = Field(default=None, description="Derived response attribute.") + self_profile: Optional[StrictBool] = Field(default=None, description="response attribute indicates whether the profile belongs to the same organization as the api-invoker.", alias="selfProfile") + project_id: Optional[StrictStr] = Field(default=None, alias="projectId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "name", "uuid", "description", "notifications", "tags", "visibility", "allowedEmails", "accessPointTypeConfigs", "customFields", "marketingInfo", "ports", "virtualDevices", "metros", "selfProfile", "projectId"] + + 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 ServiceProfileRequest 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in access_point_type_configs (list) + _items = [] + if self.access_point_type_configs: + for _item in self.access_point_type_configs: + if _item: + _items.append(_item.to_dict()) + _dict['accessPointTypeConfigs'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item in self.custom_fields: + if _item: + _items.append(_item.to_dict()) + _dict['customFields'] = _items + # override the default output from pydantic by calling `to_dict()` of marketing_info + if self.marketing_info: + _dict['marketingInfo'] = self.marketing_info.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in ports (list) + _items = [] + if self.ports: + for _item in self.ports: + if _item: + _items.append(_item.to_dict()) + _dict['ports'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in virtual_devices (list) + _items = [] + if self.virtual_devices: + for _item in self.virtual_devices: + if _item: + _items.append(_item.to_dict()) + _dict['virtualDevices'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in metros (list) + _items = [] + if self.metros: + for _item in self.metros: + if _item: + _items.append(_item.to_dict()) + _dict['metros'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileRequest 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"), + "type": obj.get("type"), + "name": obj.get("name"), + "uuid": obj.get("uuid"), + "description": obj.get("description"), + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "tags": obj.get("tags"), + "visibility": obj.get("visibility"), + "allowedEmails": obj.get("allowedEmails"), + "accessPointTypeConfigs": [ServiceProfileAccessPointType.from_dict(_item) for _item in obj["accessPointTypeConfigs"]] if obj.get("accessPointTypeConfigs") is not None else None, + "customFields": [CustomField.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "marketingInfo": MarketingInfo.from_dict(obj["marketingInfo"]) if obj.get("marketingInfo") is not None else None, + "ports": [ServiceProfileAccessPointCOLO.from_dict(_item) for _item in obj["ports"]] if obj.get("ports") is not None else None, + "virtualDevices": [ServiceProfileAccessPointVD.from_dict(_item) for _item in obj["virtualDevices"]] if obj.get("virtualDevices") is not None else None, + "metros": [ServiceMetro.from_dict(_item) for _item in obj["metros"]] if obj.get("metros") is not None else None, + "selfProfile": obj.get("selfProfile"), + "projectId": obj.get("projectId") + }) + # 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/service_profile_search_request.py b/equinix/services/fabricv4/models/service_profile_search_request.py new file mode 100644 index 00000000..d2da0dae --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_search_request.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.service_profile_filter import ServiceProfileFilter +from equinix.services.fabricv4.models.service_profile_sort_criteria import ServiceProfileSortCriteria +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileSearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[ServiceProfileFilter] = None + pagination: Optional[PaginationRequest] = None + sort: Optional[List[ServiceProfileSortCriteria]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] + + 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 ServiceProfileSearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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 sort (list) + _items = [] + if self.sort: + for _item in self.sort: + if _item: + _items.append(_item.to_dict()) + _dict['sort'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfileSearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": ServiceProfileFilter.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": [ServiceProfileSortCriteria.from_dict(_item) for _item in obj["sort"]] if obj.get("sort") is not None else None + }) + # 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/service_profile_simple_expression.py b/equinix/services/fabricv4/models/service_profile_simple_expression.py new file mode 100644 index 00000000..c5bbe00d --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_simple_expression.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileSimpleExpression(BaseModel): + """ + ServiceProfileSimpleExpression + """ # noqa: E501 + var_property: Optional[StrictStr] = Field(default=None, description="Possible field names to use on filters: * `/name` - Service Profile name * `/uuid` - Service Profile uuid * `/state` - Service Profile status * `/metros/code` - Service Profile metro code * `/visibility` - Service Profile package * `/type` - Service Profile package * `/project/projectId` - Service Profile project id ", alias="property") + operator: Optional[StrictStr] = Field(default=None, description="Possible operators to use on filters: * `=` - equal ") + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "operator", "values"] + + 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 ServiceProfileSimpleExpression 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 ServiceProfileSimpleExpression 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"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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/service_profile_sort_by.py b/equinix/services/fabricv4/models/service_profile_sort_by.py new file mode 100644 index 00000000..7247b6b9 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_sort_by.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileSortBy(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_NAME = '/name' + SLASH_STATE = '/state' + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileSortBy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_sort_criteria.py b/equinix/services/fabricv4/models/service_profile_sort_criteria.py new file mode 100644 index 00000000..4e5ddd80 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_sort_criteria.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.service_profile_sort_by import ServiceProfileSortBy +from equinix.services.fabricv4.models.service_profile_sort_direction import ServiceProfileSortDirection +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfileSortCriteria(BaseModel): + """ + ServiceProfileSortCriteria + """ # noqa: E501 + direction: Optional[ServiceProfileSortDirection] = None + var_property: Optional[ServiceProfileSortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 ServiceProfileSortCriteria 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 ServiceProfileSortCriteria from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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/service_profile_sort_direction.py b/equinix/services/fabricv4/models/service_profile_sort_direction.py new file mode 100644 index 00000000..51e5e45e --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_sort_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileSortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileSortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_state_enum.py b/equinix/services/fabricv4/models/service_profile_state_enum.py new file mode 100644 index 00000000..a372bf71 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_state_enum.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileStateEnum(str, Enum): + """ + Equinix assigned state. + """ + + """ + allowed enum values + """ + ACTIVE = 'ACTIVE' + PENDING_APPROVAL = 'PENDING_APPROVAL' + DELETED = 'DELETED' + REJECTED = 'REJECTED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileStateEnum from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_type_enum.py b/equinix/services/fabricv4/models/service_profile_type_enum.py new file mode 100644 index 00000000..f626ed17 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_type_enum.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileTypeEnum(str, Enum): + """ + Service profile type + """ + + """ + allowed enum values + """ + L2_PROFILE = 'L2_PROFILE' + L3_PROFILE = 'L3_PROFILE' + IA_PROFILE = 'IA_PROFILE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileTypeEnum from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profile_visibility_enum.py b/equinix/services/fabricv4/models/service_profile_visibility_enum.py new file mode 100644 index 00000000..c3f30ee9 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profile_visibility_enum.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceProfileVisibilityEnum(str, Enum): + """ + ServiceProfileVisibilityEnum + """ + + """ + allowed enum values + """ + PRIVATE = 'PRIVATE' + PUBLIC = 'PUBLIC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceProfileVisibilityEnum from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_profiles.py b/equinix/services/fabricv4/models/service_profiles.py new file mode 100644 index 00000000..3b6c20c5 --- /dev/null +++ b/equinix/services/fabricv4/models/service_profiles.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination import Pagination +from equinix.services.fabricv4.models.service_profile import ServiceProfile +from typing import Optional, Set +from typing_extensions import Self + +class ServiceProfiles(BaseModel): + """ + Service Profiles + """ # noqa: E501 + data: Optional[List[ServiceProfile]] = None + pagination: Optional[Pagination] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "pagination"] + + 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 ServiceProfiles 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.to_dict()) + _dict['data'] = _items + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceProfiles from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [ServiceProfile.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + }) + # 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/service_token.py b/equinix/services/fabricv4/models/service_token.py new file mode 100644 index 00000000..d5739f1a --- /dev/null +++ b/equinix/services/fabricv4/models/service_token.py @@ -0,0 +1,152 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 equinix.services.fabricv4.models.changelog import Changelog +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.service_token_connection import ServiceTokenConnection +from equinix.services.fabricv4.models.service_token_state import ServiceTokenState +from equinix.services.fabricv4.models.service_token_type import ServiceTokenType +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class ServiceToken(BaseModel): + """ + Create Service Tokens (v4) generates Equinix Fabric service tokens. These tokens authorize users to access protected resources and services. The tokens remove sensitive content from the environment, rather than just masking it, making the protected data impossible to unencrypt or decrypt. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets. + """ # noqa: E501 + type: Optional[ServiceTokenType] = None + href: Optional[StrictStr] = Field(default=None, description="An absolute URL that is the subject of the link's context.") + uuid: StrictStr = Field(description="Equinix-assigned service token identifier") + name: Optional[StrictStr] = Field(default=None, description="Customer-provided service token name") + description: Optional[StrictStr] = Field(default=None, description="Customer-provided service token description") + expiration_date_time: Optional[datetime] = Field(default=None, description="Expiration date and time of the service token.", alias="expirationDateTime") + connection: Optional[ServiceTokenConnection] = None + state: Optional[ServiceTokenState] = None + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Service token related notifications") + account: Optional[SimplifiedAccount] = None + changelog: Optional[Changelog] = None + project: Optional[Project] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "href", "uuid", "name", "description", "expirationDateTime", "connection", "state", "notifications", "account", "changelog", "project"] + + 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 ServiceToken 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of connection + if self.connection: + _dict['connection'] = self.connection.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of changelog + if self.changelog: + _dict['changelog'] = self.changelog.to_dict() + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceToken from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "expirationDateTime": obj.get("expirationDateTime"), + "connection": ServiceTokenConnection.from_dict(obj["connection"]) if obj.get("connection") is not None else None, + "state": obj.get("state"), + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None, + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None + }) + # 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/service_token_action_request.py b/equinix/services/fabricv4/models/service_token_action_request.py new file mode 100644 index 00000000..95c6ba14 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_action_request.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from equinix.services.fabricv4.models.service_token_actions import ServiceTokenActions +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokenActionRequest(BaseModel): + """ + Service Token action request + """ # noqa: E501 + type: ServiceTokenActions + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type"] + + 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 ServiceTokenActionRequest 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 ServiceTokenActionRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type") + }) + # 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/service_token_actions.py b/equinix/services/fabricv4/models/service_token_actions.py new file mode 100644 index 00000000..9a919392 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_actions.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceTokenActions(str, Enum): + """ + Service Token action type + """ + + """ + allowed enum values + """ + RESEND_EMAIL_NOTIFICATION = 'RESEND_EMAIL_NOTIFICATION' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceTokenActions from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_token_change_operation.py b/equinix/services/fabricv4/models/service_token_change_operation.py new file mode 100644 index 00000000..36049f70 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_change_operation.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.precision_time_change_operation_op import PrecisionTimeChangeOperationOp +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokenChangeOperation(BaseModel): + """ + Service Token change operation data + """ # noqa: E501 + op: PrecisionTimeChangeOperationOp + path: StrictStr = Field(description="path inside document leading to updated parameter") + value: Optional[Any] = Field(description="new value for updated parameter") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["op", "path", "value"] + + 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 ServiceTokenChangeOperation 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 + + # set to None if value (nullable) is None + # and model_fields_set contains the field + if self.value is None and "value" in self.model_fields_set: + _dict['value'] = None + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceTokenChangeOperation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "op": obj.get("op"), + "path": obj.get("path"), + "value": obj.get("value") + }) + # 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/service_token_connection.py b/equinix/services/fabricv4/models/service_token_connection.py new file mode 100644 index 00000000..cf228907 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_connection.py @@ -0,0 +1,126 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.service_token_connection_type import ServiceTokenConnectionType +from equinix.services.fabricv4.models.service_token_side import ServiceTokenSide +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokenConnection(BaseModel): + """ + Service Token Connection Type Information + """ # noqa: E501 + type: ServiceTokenConnectionType + href: Optional[StrictStr] = Field(default=None, description="An absolute URL that is the subject of the link's context.") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned connection identifier") + allow_remote_connection: Optional[StrictBool] = Field(default=False, description="Authorization to connect remotely", alias="allowRemoteConnection") + bandwidth_limit: Optional[Annotated[int, Field(le=100000, strict=True, ge=0)]] = Field(default=None, description="Connection bandwidth limit in Mbps", alias="bandwidthLimit") + supported_bandwidths: Optional[List[StrictInt]] = Field(default=None, description="List of permitted bandwidths.", alias="supportedBandwidths") + a_side: Optional[ServiceTokenSide] = Field(default=None, alias="aSide") + z_side: Optional[ServiceTokenSide] = Field(default=None, alias="zSide") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "href", "uuid", "allowRemoteConnection", "bandwidthLimit", "supportedBandwidths", "aSide", "zSide"] + + 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 ServiceTokenConnection 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of a_side + if self.a_side: + _dict['aSide'] = self.a_side.to_dict() + # override the default output from pydantic by calling `to_dict()` of z_side + if self.z_side: + _dict['zSide'] = self.z_side.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceTokenConnection from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "allowRemoteConnection": obj.get("allowRemoteConnection") if obj.get("allowRemoteConnection") is not None else False, + "bandwidthLimit": obj.get("bandwidthLimit"), + "supportedBandwidths": obj.get("supportedBandwidths"), + "aSide": ServiceTokenSide.from_dict(obj["aSide"]) if obj.get("aSide") is not None else None, + "zSide": ServiceTokenSide.from_dict(obj["zSide"]) if obj.get("zSide") is not None else None + }) + # 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/service_token_connection_type.py b/equinix/services/fabricv4/models/service_token_connection_type.py new file mode 100644 index 00000000..9a7de1be --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_connection_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceTokenConnectionType(str, Enum): + """ + Type of Connection + """ + + """ + allowed enum values + """ + EVPL_VC = 'EVPL_VC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceTokenConnectionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_token_search_expression.py b/equinix/services/fabricv4/models/service_token_search_expression.py new file mode 100644 index 00000000..1d1d7e7c --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_search_expression.py @@ -0,0 +1,118 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.service_token_search_expression_operator import ServiceTokenSearchExpressionOperator +from equinix.services.fabricv4.models.service_token_search_field_name import ServiceTokenSearchFieldName +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokenSearchExpression(BaseModel): + """ + ServiceTokenSearchExpression + """ # noqa: E501 + var_and: Optional[List[ServiceTokenSearchExpression]] = Field(default=None, alias="and") + var_property: Optional[ServiceTokenSearchFieldName] = Field(default=None, alias="property") + operator: Optional[ServiceTokenSearchExpressionOperator] = None + values: Optional[List[StrictStr]] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and", "property", "operator", "values"] + + 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 ServiceTokenSearchExpression 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceTokenSearchExpression from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [ServiceTokenSearchExpression.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None, + "property": obj.get("property"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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 + +# TODO: Rewrite to not use raise_errors +ServiceTokenSearchExpression.model_rebuild(raise_errors=False) + diff --git a/equinix/services/fabricv4/models/service_token_search_expression_operator.py b/equinix/services/fabricv4/models/service_token_search_expression_operator.py new file mode 100644 index 00000000..b80a46bf --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_search_expression_operator.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceTokenSearchExpressionOperator(str, Enum): + """ + ServiceTokenSearchExpressionOperator + """ + + """ + allowed enum values + """ + EQUAL = '=' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceTokenSearchExpressionOperator from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_token_search_field_name.py b/equinix/services/fabricv4/models/service_token_search_field_name.py new file mode 100644 index 00000000..e6c335db --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_search_field_name.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceTokenSearchFieldName(str, Enum): + """ + Possible field names to use on filters + """ + + """ + allowed enum values + """ + SLASH_UUID = '/uuid' + SLASH_STATE = '/state' + SLASH_NAME = '/name' + SLASH_PROJECT_SLASH_PROJECT_ID = '/project/projectId' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceTokenSearchFieldName from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_token_search_request.py b/equinix/services/fabricv4/models/service_token_search_request.py new file mode 100644 index 00000000..a071395f --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_search_request.py @@ -0,0 +1,111 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.pagination_request import PaginationRequest +from equinix.services.fabricv4.models.service_token_search_expression import ServiceTokenSearchExpression +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokenSearchRequest(BaseModel): + """ + Search requests containing criteria + """ # noqa: E501 + filter: Optional[ServiceTokenSearchExpression] = None + pagination: Optional[PaginationRequest] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter", "pagination"] + + 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 ServiceTokenSearchRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.to_dict() + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceTokenSearchRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": ServiceTokenSearchExpression.from_dict(obj["filter"]) if obj.get("filter") is not None else None, + "pagination": PaginationRequest.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + }) + # 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/service_token_side.py b/equinix/services/fabricv4/models/service_token_side.py new file mode 100644 index 00000000..bf0fd714 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_side.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.access_point_selector import AccessPointSelector +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokenSide(BaseModel): + """ + Connection link protocol configuration + """ # noqa: E501 + access_point_selectors: Optional[List[AccessPointSelector]] = Field(default=None, description="List of AccessPointSelectors", alias="accessPointSelectors") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["accessPointSelectors"] + + 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 ServiceTokenSide 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in access_point_selectors (list) + _items = [] + if self.access_point_selectors: + for _item in self.access_point_selectors: + if _item: + _items.append(_item.to_dict()) + _dict['accessPointSelectors'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceTokenSide from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessPointSelectors": [AccessPointSelector.from_dict(_item) for _item in obj["accessPointSelectors"]] if obj.get("accessPointSelectors") is not None else None + }) + # 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/service_token_state.py b/equinix/services/fabricv4/models/service_token_state.py new file mode 100644 index 00000000..c6f1ea33 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_state.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceTokenState(str, Enum): + """ + Service token state + """ + + """ + allowed enum values + """ + ACTIVE = 'ACTIVE' + INACTIVE = 'INACTIVE' + EXPIRED = 'EXPIRED' + DELETED = 'DELETED' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceTokenState from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_token_type.py b/equinix/services/fabricv4/models/service_token_type.py new file mode 100644 index 00000000..a64bd2e2 --- /dev/null +++ b/equinix/services/fabricv4/models/service_token_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ServiceTokenType(str, Enum): + """ + Type of Service Token + """ + + """ + allowed enum values + """ + VC_TOKEN = 'VC_TOKEN' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ServiceTokenType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/service_tokens.py b/equinix/services/fabricv4/models/service_tokens.py new file mode 100644 index 00000000..9da6e461 --- /dev/null +++ b/equinix/services/fabricv4/models/service_tokens.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.service_token import ServiceToken +from typing import Optional, Set +from typing_extensions import Self + +class ServiceTokens(BaseModel): + """ + Service tokens authorize a user to access protected resources and services available on the Equinix Fabric network. The owner of the resources can distribute service tokens to third-party users (trusted partners and vendors), allowing them to directly access and work with the resources on the network without involving the resource owners. + """ # noqa: E501 + data: Optional[List[ServiceToken]] = Field(default=None, description="List of Service Tokens") + pagination: Optional[Pagination] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["data", "pagination"] + + 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 ServiceTokens 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item in self.data: + if _item: + _items.append(_item.to_dict()) + _dict['data'] = _items + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ServiceTokens from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "data": [ServiceToken.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None, + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + }) + # 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/simplified_account.py b/equinix/services/fabricv4/models/simplified_account.py new file mode 100644 index 00000000..0b7baa63 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_account.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedAccount(BaseModel): + """ + SimplifiedAccount + """ # noqa: E501 + account_number: Optional[StrictInt] = Field(default=None, description="Account number", alias="accountNumber") + account_name: Optional[StrictStr] = Field(default=None, description="Account name", alias="accountName") + org_id: Optional[StrictInt] = Field(default=None, description="Customer organization identifier", alias="orgId") + organization_name: Optional[StrictStr] = Field(default=None, description="Customer organization name", alias="organizationName") + global_org_id: Optional[StrictStr] = Field(default=None, description="Global organization identifier", alias="globalOrgId") + global_organization_name: Optional[StrictStr] = Field(default=None, description="Global organization name", alias="globalOrganizationName") + ucm_id: Optional[StrictStr] = Field(default=None, description="Account ucmId", alias="ucmId") + global_cust_id: Optional[StrictStr] = Field(default=None, description="Account name", alias="globalCustId") + reseller_account_number: Optional[StrictInt] = Field(default=None, description="Reseller account number", alias="resellerAccountNumber") + reseller_account_name: Optional[StrictStr] = Field(default=None, description="Reseller account name", alias="resellerAccountName") + reseller_ucm_id: Optional[StrictStr] = Field(default=None, description="Reseller account ucmId", alias="resellerUcmId") + reseller_org_id: Optional[StrictInt] = Field(default=None, description="Reseller customer organization identifier", alias="resellerOrgId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["accountNumber", "accountName", "orgId", "organizationName", "globalOrgId", "globalOrganizationName", "ucmId", "globalCustId", "resellerAccountNumber", "resellerAccountName", "resellerUcmId", "resellerOrgId"] + + 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 SimplifiedAccount 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 SimplifiedAccount from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountNumber": obj.get("accountNumber"), + "accountName": obj.get("accountName"), + "orgId": obj.get("orgId"), + "organizationName": obj.get("organizationName"), + "globalOrgId": obj.get("globalOrgId"), + "globalOrganizationName": obj.get("globalOrganizationName"), + "ucmId": obj.get("ucmId"), + "globalCustId": obj.get("globalCustId"), + "resellerAccountNumber": obj.get("resellerAccountNumber"), + "resellerAccountName": obj.get("resellerAccountName"), + "resellerUcmId": obj.get("resellerUcmId"), + "resellerOrgId": obj.get("resellerOrgId") + }) + # 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/simplified_account_port_response.py b/equinix/services/fabricv4/models/simplified_account_port_response.py new file mode 100644 index 00000000..42bb7512 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_account_port_response.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SimplifiedAccountPortResponse(BaseModel): + """ + Temporary SimplifiedAccount for PortResponse data mismatch of all strings in account + """ # noqa: E501 + account_number: Optional[StrictStr] = Field(default=None, description="Account number", alias="accountNumber") + org_id: Optional[StrictStr] = Field(default=None, description="Customer organization identifier", alias="orgId") + reseller_account_number: Optional[StrictStr] = Field(default=None, description="Reseller account number", alias="resellerAccountNumber") + reseller_org_id: Optional[StrictStr] = Field(default=None, description="Reseller customer organization identifier", alias="resellerOrgId") + account_name: Optional[StrictStr] = Field(default=None, description="Account name", alias="accountName") + organization_name: Optional[StrictStr] = Field(default=None, description="Customer organization name", alias="organizationName") + global_org_id: Optional[StrictStr] = Field(default=None, description="Global organization identifier", alias="globalOrgId") + global_organization_name: Optional[StrictStr] = Field(default=None, description="Global organization name", alias="globalOrganizationName") + ucm_id: Optional[StrictStr] = Field(default=None, description="Account ucmId", alias="ucmId") + global_cust_id: Optional[StrictStr] = Field(default=None, description="Account name", alias="globalCustId") + reseller_account_name: Optional[StrictStr] = Field(default=None, description="Reseller account name", alias="resellerAccountName") + reseller_ucm_id: Optional[StrictStr] = Field(default=None, description="Reseller account ucmId", alias="resellerUcmId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["accountNumber", "accountName", "orgId", "organizationName", "globalOrgId", "globalOrganizationName", "ucmId", "globalCustId", "resellerAccountNumber", "resellerAccountName", "resellerUcmId", "resellerOrgId"] + + 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 SimplifiedAccountPortResponse 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 SimplifiedAccountPortResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accountNumber": obj.get("accountNumber"), + "accountName": obj.get("accountName"), + "orgId": obj.get("orgId"), + "organizationName": obj.get("organizationName"), + "globalOrgId": obj.get("globalOrgId"), + "globalOrganizationName": obj.get("globalOrganizationName"), + "ucmId": obj.get("ucmId"), + "globalCustId": obj.get("globalCustId"), + "resellerAccountNumber": obj.get("resellerAccountNumber"), + "resellerAccountName": obj.get("resellerAccountName"), + "resellerUcmId": obj.get("resellerUcmId"), + "resellerOrgId": obj.get("resellerOrgId") + }) + # 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/simplified_link_protocol.py b/equinix/services/fabricv4/models/simplified_link_protocol.py new file mode 100644 index 00000000..97105b9d --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_link_protocol.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedLinkProtocol(BaseModel): + """ + Connection link protocol Configuration + """ # noqa: E501 + type: Optional[LinkProtocolType] = None + vlan_tag: Optional[Annotated[int, Field(le=4092, strict=True, ge=2)]] = Field(default=None, description="vlanTag value specified for DOT1Q connections", alias="vlanTag") + vlan_s_tag: Optional[Annotated[int, Field(le=4092, strict=True, ge=2)]] = Field(default=None, description="vlanSTag value specified for QINQ connections", alias="vlanSTag") + vlan_c_tag: Optional[Annotated[int, Field(le=4092, strict=True, ge=2)]] = Field(default=None, description="vlanCTag value specified for QINQ connections", alias="vlanCTag") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "vlanTag", "vlanSTag", "vlanCTag"] + + 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 SimplifiedLinkProtocol 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 SimplifiedLinkProtocol from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "vlanTag": obj.get("vlanTag"), + "vlanSTag": obj.get("vlanSTag"), + "vlanCTag": obj.get("vlanCTag") + }) + # 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/simplified_location.py b/equinix/services/fabricv4/models/simplified_location.py new file mode 100644 index 00000000..77543322 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_location.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SimplifiedLocation(BaseModel): + """ + SimplifiedLocation + """ # noqa: E501 + region: Optional[StrictStr] = None + metro_name: Optional[StrictStr] = Field(default=None, alias="metroName") + metro_code: Optional[StrictStr] = Field(default=None, alias="metroCode") + metro_href: Optional[StrictStr] = Field(default=None, alias="metroHref") + ibx: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["region", "metroName", "metroCode", "metroHref", "ibx"] + + 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 SimplifiedLocation 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 SimplifiedLocation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "region": obj.get("region"), + "metroName": obj.get("metroName"), + "metroCode": obj.get("metroCode"), + "metroHref": obj.get("metroHref"), + "ibx": obj.get("ibx") + }) + # 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/simplified_location_without_ibx.py b/equinix/services/fabricv4/models/simplified_location_without_ibx.py new file mode 100644 index 00000000..27f2b1cd --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_location_without_ibx.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SimplifiedLocationWithoutIBX(BaseModel): + """ + SimplifiedLocationWithoutIBX + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="The Canonical URL at which the resource resides.") + region: Optional[StrictStr] = None + metro_name: Optional[StrictStr] = Field(default=None, alias="metroName") + metro_code: StrictStr = Field(alias="metroCode") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "region", "metroName", "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 SimplifiedLocationWithoutIBX 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 SimplifiedLocationWithoutIBX 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"), + "region": obj.get("region"), + "metroName": obj.get("metroName"), + "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/simplified_metadata_entity.py b/equinix/services/fabricv4/models/simplified_metadata_entity.py new file mode 100644 index 00000000..2e115ad2 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_metadata_entity.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SimplifiedMetadataEntity(BaseModel): + """ + Configuration details for port used at the access point. + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="url to entity") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix assigned Identifier") + type: Optional[StrictStr] = Field(default=None, description="Type of Port") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "type"] + + 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 SimplifiedMetadataEntity 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 SimplifiedMetadataEntity 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"), + "uuid": obj.get("uuid"), + "type": obj.get("type") + }) + # 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/simplified_network.py b/equinix/services/fabricv4/models/simplified_network.py new file mode 100644 index 00000000..774e1c7b --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_network.py @@ -0,0 +1,158 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.changelog import Changelog +from equinix.services.fabricv4.models.link import Link +from equinix.services.fabricv4.models.network_operation import NetworkOperation +from equinix.services.fabricv4.models.network_scope import NetworkScope +from equinix.services.fabricv4.models.network_state import NetworkState +from equinix.services.fabricv4.models.network_type import NetworkType +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from equinix.services.fabricv4.models.simplified_network_change import SimplifiedNetworkChange +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedNetwork(BaseModel): + """ + Network specification + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Network URI") + uuid: StrictStr = Field(description="Equinix-assigned network identifier") + name: Optional[StrictStr] = Field(default=None, description="Customer-assigned network name") + state: Optional[NetworkState] = None + account: Optional[SimplifiedAccount] = None + change: Optional[SimplifiedNetworkChange] = None + operation: Optional[NetworkOperation] = None + change_log: Optional[Changelog] = Field(default=None, alias="changeLog") + links: Optional[List[Link]] = Field(default=None, description="Network sub-resources links") + type: Optional[NetworkType] = None + scope: Optional[NetworkScope] = None + location: Optional[SimplifiedLocation] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "name", "state", "account", "change", "operation", "changeLog", "links", "type", "scope", "location"] + + 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 SimplifiedNetwork 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. + * OpenAPI `readOnly` fields are excluded. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "links", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.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 operation + if self.operation: + _dict['operation'] = self.operation.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() + # override the default output from pydantic by calling `to_dict()` of each item in links (list) + _items = [] + if self.links: + for _item in self.links: + if _item: + _items.append(_item.to_dict()) + _dict['links'] = _items + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimplifiedNetwork 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"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "state": obj.get("state"), + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "change": SimplifiedNetworkChange.from_dict(obj["change"]) if obj.get("change") is not None else None, + "operation": NetworkOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "changeLog": Changelog.from_dict(obj["changeLog"]) if obj.get("changeLog") is not None else None, + "links": [Link.from_dict(_item) for _item in obj["links"]] if obj.get("links") is not None else None, + "type": obj.get("type"), + "scope": obj.get("scope"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None + }) + # 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/simplified_network_change.py b/equinix/services/fabricv4/models/simplified_network_change.py new file mode 100644 index 00000000..f099b618 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_network_change.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.network_change_type import NetworkChangeType +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedNetworkChange(BaseModel): + """ + Current state of latest network change + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Network URI") + uuid: Optional[StrictStr] = Field(default=None, description="Uniquely identifies a change") + type: Optional[NetworkChangeType] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "type"] + + 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 SimplifiedNetworkChange 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 SimplifiedNetworkChange 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"), + "uuid": obj.get("uuid"), + "type": obj.get("type") + }) + # 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/simplified_notification.py b/equinix/services/fabricv4/models/simplified_notification.py new file mode 100644 index 00000000..9b056268 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_notification.py @@ -0,0 +1,108 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.simplified_notification_type import SimplifiedNotificationType +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedNotification(BaseModel): + """ + SimplifiedNotification + """ # noqa: E501 + type: SimplifiedNotificationType + send_interval: Optional[StrictStr] = Field(default=None, alias="sendInterval") + emails: List[StrictStr] = Field(description="Array of contact emails") + registered_users: Optional[List[StrictStr]] = Field(default=None, description="Array of registered users", alias="registeredUsers") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "sendInterval", "emails", "registeredUsers"] + + 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 SimplifiedNotification 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 SimplifiedNotification from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "sendInterval": obj.get("sendInterval"), + "emails": obj.get("emails"), + "registeredUsers": obj.get("registeredUsers") + }) + # 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/simplified_notification_type.py b/equinix/services/fabricv4/models/simplified_notification_type.py new file mode 100644 index 00000000..0d3910fb --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_notification_type.py @@ -0,0 +1,42 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SimplifiedNotificationType(str, Enum): + """ + Notification Type + """ + + """ + allowed enum values + """ + NOTIFICATION = 'NOTIFICATION' + BANDWIDTH_ALERT = 'BANDWIDTH_ALERT' + CONNECTION_APPROVAL = 'CONNECTION_APPROVAL' + PROFILE_LIFECYCLE = 'PROFILE_LIFECYCLE' + ALL = 'ALL' + SALES_REP_NOTIFICATIONS = 'SALES_REP_NOTIFICATIONS' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SimplifiedNotificationType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/simplified_port.py b/equinix/services/fabricv4/models/simplified_port.py new file mode 100644 index 00000000..1f9cf754 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_port.py @@ -0,0 +1,223 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictInt, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.physical_port import PhysicalPort +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint +from equinix.services.fabricv4.models.port_device import PortDevice +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation +from equinix.services.fabricv4.models.port_interface import PortInterface +from equinix.services.fabricv4.models.port_operation import PortOperation +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy +from equinix.services.fabricv4.models.port_response_service_type import PortResponseServiceType +from equinix.services.fabricv4.models.port_settings import PortSettings +from equinix.services.fabricv4.models.port_state import PortState +from equinix.services.fabricv4.models.port_tether import PortTether +from equinix.services.fabricv4.models.port_type import PortType +from equinix.services.fabricv4.models.project import Project +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedPort(BaseModel): + """ + Port specification + """ # noqa: E501 + type: Optional[PortType] = None + id: Optional[StrictInt] = Field(default=None, description="Equinix assigned response attribute for Port Id") + href: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for an absolute URL that is the subject of the link's context.") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for port identifier") + name: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Port name") + description: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Port description") + physical_ports_speed: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Physical Ports Speed in Mbps", alias="physicalPortsSpeed") + connections_count: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Connection count", alias="connectionsCount") + project: Optional[Project] = None + state: Optional[PortState] = None + cvp_id: Optional[StrictStr] = Field(default=None, description="Equinix assigned response attribute for Unique ID for a virtual port.", alias="cvpId") + operation: Optional[PortOperation] = None + account: Optional[SimplifiedAccount] = None + service_type: Optional[PortResponseServiceType] = Field(default=None, alias="serviceType") + bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port bandwidth in Mbps") + available_bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port available bandwidth in Mbps", alias="availableBandwidth") + used_bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = Field(default=None, description="Equinix assigned response attribute for Port used bandwidth in Mbps", alias="usedBandwidth") + location: Optional[SimplifiedLocation] = None + device: Optional[PortDevice] = None + interface: Optional[PortInterface] = None + tether: Optional[PortTether] = None + demarcation_point: Optional[PortDemarcationPoint] = Field(default=None, alias="demarcationPoint") + redundancy: Optional[PortRedundancy] = None + encapsulation: Optional[PortEncapsulation] = None + lag_enabled: Optional[StrictBool] = Field(default=None, description="If LAG enabled", alias="lagEnabled") + settings: Optional[PortSettings] = None + physical_port_quantity: Optional[StrictInt] = Field(default=None, description="Number of physical ports", alias="physicalPortQuantity") + additional_info: Optional[List[PortAdditionalInfo]] = Field(default=None, description="Port additional information", alias="additionalInfo") + physical_ports: Optional[List[PhysicalPort]] = Field(default=None, description="Physical ports that implement this port", alias="physicalPorts") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["type", "id", "href", "uuid", "name", "description", "physicalPortsSpeed", "connectionsCount", "project", "state", "cvpId", "operation", "account", "serviceType", "bandwidth", "availableBandwidth", "usedBandwidth", "location", "device", "interface", "tether", "demarcationPoint", "redundancy", "encapsulation", "lagEnabled", "settings", "physicalPortQuantity", "additionalInfo", "physicalPorts"] + + 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 SimplifiedPort 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of project + if self.project: + _dict['project'] = self.project.to_dict() + # override the default output from pydantic by calling `to_dict()` of operation + if self.operation: + _dict['operation'] = self.operation.to_dict() + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.to_dict() + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of device + if self.device: + _dict['device'] = self.device.to_dict() + # override the default output from pydantic by calling `to_dict()` of interface + if self.interface: + _dict['interface'] = self.interface.to_dict() + # override the default output from pydantic by calling `to_dict()` of tether + if self.tether: + _dict['tether'] = self.tether.to_dict() + # override the default output from pydantic by calling `to_dict()` of demarcation_point + if self.demarcation_point: + _dict['demarcationPoint'] = self.demarcation_point.to_dict() + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.to_dict() + # override the default output from pydantic by calling `to_dict()` of encapsulation + if self.encapsulation: + _dict['encapsulation'] = self.encapsulation.to_dict() + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in physical_ports (list) + _items = [] + if self.physical_ports: + for _item in self.physical_ports: + if _item: + _items.append(_item.to_dict()) + _dict['physicalPorts'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimplifiedPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "type": obj.get("type"), + "id": obj.get("id"), + "href": obj.get("href"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "description": obj.get("description"), + "physicalPortsSpeed": obj.get("physicalPortsSpeed"), + "connectionsCount": obj.get("connectionsCount"), + "project": Project.from_dict(obj["project"]) if obj.get("project") is not None else None, + "state": obj.get("state"), + "cvpId": obj.get("cvpId"), + "operation": PortOperation.from_dict(obj["operation"]) if obj.get("operation") is not None else None, + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None, + "serviceType": obj.get("serviceType"), + "bandwidth": obj.get("bandwidth"), + "availableBandwidth": obj.get("availableBandwidth"), + "usedBandwidth": obj.get("usedBandwidth"), + "location": SimplifiedLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "device": PortDevice.from_dict(obj["device"]) if obj.get("device") is not None else None, + "interface": PortInterface.from_dict(obj["interface"]) if obj.get("interface") is not None else None, + "tether": PortTether.from_dict(obj["tether"]) if obj.get("tether") is not None else None, + "demarcationPoint": PortDemarcationPoint.from_dict(obj["demarcationPoint"]) if obj.get("demarcationPoint") is not None else None, + "redundancy": PortRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None, + "encapsulation": PortEncapsulation.from_dict(obj["encapsulation"]) if obj.get("encapsulation") is not None else None, + "lagEnabled": obj.get("lagEnabled"), + "settings": PortSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None, + "physicalPortQuantity": obj.get("physicalPortQuantity"), + "additionalInfo": [PortAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None, + "physicalPorts": [PhysicalPort.from_dict(_item) for _item in obj["physicalPorts"]] if obj.get("physicalPorts") is not None else None + }) + # 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/simplified_service_profile.py b/equinix/services/fabricv4/models/simplified_service_profile.py new file mode 100644 index 00000000..aefc24d0 --- /dev/null +++ b/equinix/services/fabricv4/models/simplified_service_profile.py @@ -0,0 +1,190 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.custom_field import CustomField +from equinix.services.fabricv4.models.marketing_info import MarketingInfo +from equinix.services.fabricv4.models.service_metro import ServiceMetro +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD +from equinix.services.fabricv4.models.service_profile_type_enum import ServiceProfileTypeEnum +from equinix.services.fabricv4.models.service_profile_visibility_enum import ServiceProfileVisibilityEnum +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification +from typing import Optional, Set +from typing_extensions import Self + +class SimplifiedServiceProfile(BaseModel): + """ + Service Profile is a software definition for a named provider service and it's network connectivity requirements. This includes the basic marketing information and one or more sets of access points (a set per each access point type) fulfilling the provider service. + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Service Profile URI response attribute") + type: Optional[ServiceProfileTypeEnum] = None + name: Optional[Annotated[str, Field(strict=True, max_length=50)]] = Field(default=None, description="Customer-assigned service profile name") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned service profile identifier") + description: Optional[StrictStr] = Field(default=None, description="User-provided service description should be of maximum length 375") + notifications: Optional[List[SimplifiedNotification]] = Field(default=None, description="Recipients of notifications on service profile change") + tags: Optional[List[StrictStr]] = None + visibility: Optional[ServiceProfileVisibilityEnum] = None + allowed_emails: Optional[List[StrictStr]] = Field(default=None, alias="allowedEmails") + access_point_type_configs: Optional[Annotated[List[ServiceProfileAccessPointType], Field(min_length=1)]] = Field(default=None, alias="accessPointTypeConfigs") + custom_fields: Optional[List[CustomField]] = Field(default=None, alias="customFields") + marketing_info: Optional[MarketingInfo] = Field(default=None, alias="marketingInfo") + ports: Optional[List[ServiceProfileAccessPointCOLO]] = None + virtual_devices: Optional[List[ServiceProfileAccessPointVD]] = Field(default=None, alias="virtualDevices") + metros: Optional[List[ServiceMetro]] = Field(default=None, description="Derived response attribute.") + self_profile: Optional[StrictBool] = Field(default=None, description="response attribute indicates whether the profile belongs to the same organization as the api-invoker.", alias="selfProfile") + project_id: Optional[StrictStr] = Field(default=None, alias="projectId") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "type", "name", "uuid", "description", "notifications", "tags", "visibility", "allowedEmails", "accessPointTypeConfigs", "customFields", "marketingInfo", "ports", "virtualDevices", "metros", "selfProfile", "projectId"] + + 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 SimplifiedServiceProfile 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of each item in notifications (list) + _items = [] + if self.notifications: + for _item in self.notifications: + if _item: + _items.append(_item.to_dict()) + _dict['notifications'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in access_point_type_configs (list) + _items = [] + if self.access_point_type_configs: + for _item in self.access_point_type_configs: + if _item: + _items.append(_item.to_dict()) + _dict['accessPointTypeConfigs'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in custom_fields (list) + _items = [] + if self.custom_fields: + for _item in self.custom_fields: + if _item: + _items.append(_item.to_dict()) + _dict['customFields'] = _items + # override the default output from pydantic by calling `to_dict()` of marketing_info + if self.marketing_info: + _dict['marketingInfo'] = self.marketing_info.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in ports (list) + _items = [] + if self.ports: + for _item in self.ports: + if _item: + _items.append(_item.to_dict()) + _dict['ports'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in virtual_devices (list) + _items = [] + if self.virtual_devices: + for _item in self.virtual_devices: + if _item: + _items.append(_item.to_dict()) + _dict['virtualDevices'] = _items + # override the default output from pydantic by calling `to_dict()` of each item in metros (list) + _items = [] + if self.metros: + for _item in self.metros: + if _item: + _items.append(_item.to_dict()) + _dict['metros'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of SimplifiedServiceProfile 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"), + "type": obj.get("type"), + "name": obj.get("name"), + "uuid": obj.get("uuid"), + "description": obj.get("description"), + "notifications": [SimplifiedNotification.from_dict(_item) for _item in obj["notifications"]] if obj.get("notifications") is not None else None, + "tags": obj.get("tags"), + "visibility": obj.get("visibility"), + "allowedEmails": obj.get("allowedEmails"), + "accessPointTypeConfigs": [ServiceProfileAccessPointType.from_dict(_item) for _item in obj["accessPointTypeConfigs"]] if obj.get("accessPointTypeConfigs") is not None else None, + "customFields": [CustomField.from_dict(_item) for _item in obj["customFields"]] if obj.get("customFields") is not None else None, + "marketingInfo": MarketingInfo.from_dict(obj["marketingInfo"]) if obj.get("marketingInfo") is not None else None, + "ports": [ServiceProfileAccessPointCOLO.from_dict(_item) for _item in obj["ports"]] if obj.get("ports") is not None else None, + "virtualDevices": [ServiceProfileAccessPointVD.from_dict(_item) for _item in obj["virtualDevices"]] if obj.get("virtualDevices") is not None else None, + "metros": [ServiceMetro.from_dict(_item) for _item in obj["metros"]] if obj.get("metros") is not None else None, + "selfProfile": obj.get("selfProfile"), + "projectId": obj.get("projectId") + }) + # 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..19246895 --- /dev/null +++ b/equinix/services/fabricv4/models/sort.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 Sort(str, Enum): + """ + Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The \"?\" prefix indicates descending (DESC) order. + """ + + """ + allowed enum values + """ + MINUS_BANDWIDTH_UTILIZATION = '-bandwidthUtilization' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of Sort from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/sort_by.py b/equinix/services/fabricv4/models/sort_by.py new file mode 100644 index 00000000..7e823505 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_by.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SortBy(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_NAME = '/name' + SLASH_DIRECTION = '/direction' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_NAME = '/aSide/accessPoint/name' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_TYPE = '/aSide/accessPoint/type' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_ACCOUNT_SLASH_ACCOUNT_NAME = '/aSide/accessPoint/account/accountName' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_NAME = '/aSide/accessPoint/location/metroName' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_CODE = '/aSide/accessPoint/location/metroCode' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_C_TAG = '/aSide/accessPoint/linkProtocol/vlanCTag' + SLASH_A_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_S_TAG = '/aSide/accessPoint/linkProtocol/vlanSTag' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_NAME = '/zSide/accessPoint/name' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_TYPE = '/zSide/accessPoint/type' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_ACCOUNT_SLASH_ACCOUNT_NAME = '/zSide/accessPoint/account/accountName' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_NAME = '/zSide/accessPoint/location/metroName' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LOCATION_SLASH_METRO_CODE = '/zSide/accessPoint/location/metroCode' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_C_TAG = '/zSide/accessPoint/linkProtocol/vlanCTag' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_LINK_PROTOCOL_SLASH_VLAN_S_TAG = '/zSide/accessPoint/linkProtocol/vlanSTag' + SLASH_Z_SIDE_SLASH_ACCESS_POINT_SLASH_AUTHENTICATION_KEY = '/zSide/accessPoint/authenticationKey' + SLASH_BANDWIDTH = '/bandwidth' + SLASH_GEO_SCOPE = '/geoScope' + SLASH_UUID = '/uuid' + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + SLASH_OPERATION_SLASH_EQUINIX_STATUS = '/operation/equinixStatus' + SLASH_OPERATION_SLASH_PROVIDER_STATUS = '/operation/providerStatus' + SLASH_REDUNDANCY_SLASH_PRIORITY = '/redundancy/priority' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SortBy from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/sort_criteria.py b/equinix/services/fabricv4/models/sort_criteria.py new file mode 100644 index 00000000..1c78ed26 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_criteria.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.sort_by import SortBy +from equinix.services.fabricv4.models.sort_direction import SortDirection +from typing import Optional, Set +from typing_extensions import Self + +class SortCriteria(BaseModel): + """ + SortCriteria + """ # noqa: E501 + direction: Optional[SortDirection] = None + var_property: Optional[SortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 SortCriteria 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 SortCriteria from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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_criteria_response.py b/equinix/services/fabricv4/models/sort_criteria_response.py new file mode 100644 index 00000000..a57ab347 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_criteria_response.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.sort_by import SortBy +from equinix.services.fabricv4.models.sort_direction import SortDirection +from typing import Optional, Set +from typing_extensions import Self + +class SortCriteriaResponse(BaseModel): + """ + SortCriteriaResponse + """ # noqa: E501 + direction: Optional[SortDirection] = None + var_property: Optional[SortBy] = Field(default=None, alias="property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["direction", "property"] + + 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 SortCriteriaResponse 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 SortCriteriaResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "direction": obj.get("direction"), + "property": obj.get("property") + }) + # 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_direction.py b/equinix/services/fabricv4/models/sort_direction.py new file mode 100644 index 00000000..e54d51d5 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/sort_item.py b/equinix/services/fabricv4/models/sort_item.py new file mode 100644 index 00000000..26574d88 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_item.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.sort_item_direction import SortItemDirection +from equinix.services.fabricv4.models.sort_item_property import SortItemProperty +from typing import Optional, Set +from typing_extensions import Self + +class SortItem(BaseModel): + """ + SortItem + """ # noqa: E501 + var_property: Optional[SortItemProperty] = Field(default=None, alias="property") + direction: Optional[SortItemDirection] = None + 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 SortItem 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 SortItem 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") + }) + # 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_item_direction.py b/equinix/services/fabricv4/models/sort_item_direction.py new file mode 100644 index 00000000..99c056e2 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_item_direction.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SortItemDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SortItemDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/sort_item_property.py b/equinix/services/fabricv4/models/sort_item_property.py new file mode 100644 index 00000000..d8a20c64 --- /dev/null +++ b/equinix/services/fabricv4/models/sort_item_property.py @@ -0,0 +1,45 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 SortItemProperty(str, Enum): + """ + Possible field names to use on sorting + """ + + """ + allowed enum values + """ + SLASH_TYPE = '/type' + SLASH_UUID = '/uuid' + SLASH_NAME = '/name' + SLASH_PROJECT_SLASH_PROJECT_ID = '/project/projectId' + SLASH_STATE = '/state' + SLASH_NOT_MATCHED_RULE_ACTION = '/notMatchedRuleAction' + SLASH_CONNECTIONS_COUNT = '/connectionsCount' + SLASH_CHANGE_LOG_SLASH_CREATED_DATE_TIME = '/changeLog/createdDateTime' + SLASH_CHANGE_LOG_SLASH_UPDATED_DATE_TIME = '/changeLog/updatedDateTime' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of SortItemProperty from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/statistics.py b/equinix/services/fabricv4/models/statistics.py new file mode 100644 index 00000000..c179ea7f --- /dev/null +++ b/equinix/services/fabricv4/models/statistics.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.bandwidth_utilization import BandwidthUtilization +from equinix.services.fabricv4.models.statistics_view_point import StatisticsViewPoint +from typing import Optional, Set +from typing_extensions import Self + +class Statistics(BaseModel): + """ + This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + """ # noqa: E501 + start_date_time: Optional[datetime] = Field(default=None, description="Start and duration of the statistical analysis interval.", alias="startDateTime") + end_date_time: Optional[datetime] = Field(default=None, description="End and duration of the statistical analysis interval.", alias="endDateTime") + view_point: Optional[StatisticsViewPoint] = Field(default=None, alias="viewPoint") + bandwidth_utilization: Optional[BandwidthUtilization] = Field(default=None, alias="bandwidthUtilization") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["startDateTime", "endDateTime", "viewPoint", "bandwidthUtilization"] + + 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 Statistics 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, + ) + # override the default output from pydantic by calling `to_dict()` of bandwidth_utilization + if self.bandwidth_utilization: + _dict['bandwidthUtilization'] = self.bandwidth_utilization.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Statistics from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "startDateTime": obj.get("startDateTime"), + "endDateTime": obj.get("endDateTime"), + "viewPoint": obj.get("viewPoint"), + "bandwidthUtilization": BandwidthUtilization.from_dict(obj["bandwidthUtilization"]) if obj.get("bandwidthUtilization") is not None else None + }) + # 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/statistics_view_point.py b/equinix/services/fabricv4/models/statistics_view_point.py new file mode 100644 index 00000000..e93ea7c3 --- /dev/null +++ b/equinix/services/fabricv4/models/statistics_view_point.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 StatisticsViewPoint(str, Enum): + """ + Point of view for connection metrics - aSide or zSide + """ + + """ + allowed enum values + """ + ASIDE = 'aSide' + ZSIDE = 'zSide' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of StatisticsViewPoint from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/sub_interface.py b/equinix/services/fabricv4/models/sub_interface.py new file mode 100644 index 00000000..72efc04b --- /dev/null +++ b/equinix/services/fabricv4/models/sub_interface.py @@ -0,0 +1,103 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class SubInterface(BaseModel): + """ + Sub Interface information + """ # noqa: E501 + name: Optional[StrictStr] = Field(default=None, description="name of subinterafce of a port") + unit: Optional[StrictInt] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["name", "unit"] + + 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 SubInterface 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 SubInterface from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "name": obj.get("name"), + "unit": obj.get("unit") + }) + # 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/top_utilized_statistics.py b/equinix/services/fabricv4/models/top_utilized_statistics.py new file mode 100644 index 00000000..b487ab59 --- /dev/null +++ b/equinix/services/fabricv4/models/top_utilized_statistics.py @@ -0,0 +1,115 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.statistics import Statistics +from typing import Optional, Set +from typing_extensions import Self + +class TopUtilizedStatistics(BaseModel): + """ + This API provides service-level traffic metrics for the top utilized ports so that you can view access and gather key information required to manage service subscription sizing and capacity. + """ # noqa: E501 + pagination: Optional[Pagination] = None + data: Optional[List[Statistics]] = Field(default=None, description="Data returned from the API call.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["pagination", "data"] + + 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 TopUtilizedStatistics 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, + ) + # 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 in self.data: + if _item: + _items.append(_item.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of TopUtilizedStatistics from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [Statistics.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(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/validate_request.py b/equinix/services/fabricv4/models/validate_request.py new file mode 100644 index 00000000..e4281616 --- /dev/null +++ b/equinix/services/fabricv4/models/validate_request.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.validate_request_filter import ValidateRequestFilter +from typing import Optional, Set +from typing_extensions import Self + +class ValidateRequest(BaseModel): + """ + Validate connection auth api key or vlan + """ # noqa: E501 + filter: Optional[ValidateRequestFilter] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["filter"] + + 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 ValidateRequest 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, + ) + # override the default output from pydantic by calling `to_dict()` of filter + if self.filter: + _dict['filter'] = self.filter.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ValidateRequest from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "filter": ValidateRequestFilter.from_dict(obj["filter"]) if obj.get("filter") is not None else None + }) + # 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/validate_request_filter.py b/equinix/services/fabricv4/models/validate_request_filter.py new file mode 100644 index 00000000..295c8d7a --- /dev/null +++ b/equinix/services/fabricv4/models/validate_request_filter.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.validate_request_filter_and import ValidateRequestFilterAnd +from typing import Optional, Set +from typing_extensions import Self + +class ValidateRequestFilter(BaseModel): + """ + Filters + """ # noqa: E501 + var_and: Optional[List[ValidateRequestFilterAnd]] = Field(default=None, alias="and") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["and"] + + 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 ValidateRequestFilter 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in var_and (list) + _items = [] + if self.var_and: + for _item in self.var_and: + if _item: + _items.append(_item.to_dict()) + _dict['and'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ValidateRequestFilter from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "and": [ValidateRequestFilterAnd.from_dict(_item) for _item in obj["and"]] if obj.get("and") is not None else None + }) + # 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/validate_request_filter_and.py b/equinix/services/fabricv4/models/validate_request_filter_and.py new file mode 100644 index 00000000..5a7754f3 --- /dev/null +++ b/equinix/services/fabricv4/models/validate_request_filter_and.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ValidateRequestFilterAnd(BaseModel): + """ + ValidateRequestFilterAnd + """ # noqa: E501 + var_property: Optional[StrictStr] = Field(default=None, description="Path to property", alias="property") + operator: Optional[StrictStr] = Field(default=None, description="Type of operation") + values: Optional[List[StrictStr]] = Field(default=None, description="Values for the given property") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "operator", "values"] + + 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 ValidateRequestFilterAnd 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 ValidateRequestFilterAnd 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"), + "operator": obj.get("operator"), + "values": obj.get("values") + }) + # 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/validate_subnet_response.py b/equinix/services/fabricv4/models/validate_subnet_response.py new file mode 100644 index 00000000..b7be9891 --- /dev/null +++ b/equinix/services/fabricv4/models/validate_subnet_response.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo +from typing import Optional, Set +from typing_extensions import Self + +class ValidateSubnetResponse(BaseModel): + """ + ValidateResponse + """ # noqa: E501 + additional_info: Optional[List[ConnectionSideAdditionalInfo]] = Field(default=None, description="Additional information", alias="additionalInfo") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["additionalInfo"] + + 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 ValidateSubnetResponse 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, + ) + # override the default output from pydantic by calling `to_dict()` of each item in additional_info (list) + _items = [] + if self.additional_info: + for _item in self.additional_info: + if _item: + _items.append(_item.to_dict()) + _dict['additionalInfo'] = _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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ValidateSubnetResponse from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "additionalInfo": [ConnectionSideAdditionalInfo.from_dict(_item) for _item in obj["additionalInfo"]] if obj.get("additionalInfo") is not None else None + }) + # 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/view_point.py b/equinix/services/fabricv4/models/view_point.py new file mode 100644 index 00000000..f651be67 --- /dev/null +++ b/equinix/services/fabricv4/models/view_point.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 ViewPoint(str, Enum): + """ + viewPoint + """ + + """ + allowed enum values + """ + ASIDE = 'aSide' + ZSIDE = 'zSide' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ViewPoint from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/virtual_connection_bridge_package_code.py b/equinix/services/fabricv4/models/virtual_connection_bridge_package_code.py new file mode 100644 index 00000000..a3b04970 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_bridge_package_code.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualConnectionBridgePackageCode(str, Enum): + """ + Virtual Connection bridge package code + """ + + """ + allowed enum values + """ + REGIONAL = 'REGIONAL' + GLOBAL = 'GLOBAL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VirtualConnectionBridgePackageCode from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/virtual_connection_price.py b/equinix/services/fabricv4/models/virtual_connection_price.py new file mode 100644 index 00000000..87cbf96a --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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_extensions import Annotated +from equinix.services.fabricv4.models.virtual_connection_price_a_side import VirtualConnectionPriceASide +from equinix.services.fabricv4.models.virtual_connection_price_connection_type import VirtualConnectionPriceConnectionType +from equinix.services.fabricv4.models.virtual_connection_price_z_side import VirtualConnectionPriceZSide +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPrice(BaseModel): + """ + Virtual Connection Product configuration + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Either uuid or rest of attributes are required") + type: Optional[VirtualConnectionPriceConnectionType] = None + bandwidth: Optional[Annotated[int, Field(strict=True, ge=0)]] = None + a_side: Optional[VirtualConnectionPriceASide] = Field(default=None, alias="aSide") + z_side: Optional[VirtualConnectionPriceZSide] = Field(default=None, alias="zSide") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "bandwidth", "aSide", "zSide"] + + 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 VirtualConnectionPrice 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, + ) + # override the default output from pydantic by calling `to_dict()` of a_side + if self.a_side: + _dict['aSide'] = self.a_side.to_dict() + # override the default output from pydantic by calling `to_dict()` of z_side + if self.z_side: + _dict['zSide'] = self.z_side.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPrice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "bandwidth": obj.get("bandwidth"), + "aSide": VirtualConnectionPriceASide.from_dict(obj["aSide"]) if obj.get("aSide") is not None else None, + "zSide": VirtualConnectionPriceZSide.from_dict(obj["zSide"]) if obj.get("zSide") is not None else None + }) + # 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/virtual_connection_price_a_side.py b/equinix/services/fabricv4/models/virtual_connection_price_a_side.py new file mode 100644 index 00000000..a9726044 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_a_side.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point import VirtualConnectionPriceASideAccessPoint +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceASide(BaseModel): + """ + VirtualConnectionPriceASide + """ # noqa: E501 + access_point: Optional[VirtualConnectionPriceASideAccessPoint] = Field(default=None, alias="accessPoint") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["accessPoint"] + + 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 VirtualConnectionPriceASide 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, + ) + # override the default output from pydantic by calling `to_dict()` of access_point + if self.access_point: + _dict['accessPoint'] = self.access_point.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPriceASide from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessPoint": VirtualConnectionPriceASideAccessPoint.from_dict(obj["accessPoint"]) if obj.get("accessPoint") is not None else None + }) + # 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/virtual_connection_price_a_side_access_point.py b/equinix/services/fabricv4/models/virtual_connection_price_a_side_access_point.py new file mode 100644 index 00000000..3e2c0e67 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_a_side_access_point.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.price_location import PriceLocation +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port import VirtualConnectionPriceASideAccessPointPort +from equinix.services.fabricv4.models.virtual_connection_price_access_point_type import VirtualConnectionPriceAccessPointType +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceASideAccessPoint(BaseModel): + """ + VirtualConnectionPriceASideAccessPoint + """ # noqa: E501 + uuid: Optional[StrictStr] = None + type: Optional[VirtualConnectionPriceAccessPointType] = None + location: Optional[PriceLocation] = None + port: Optional[VirtualConnectionPriceASideAccessPointPort] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "location", "port"] + + 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 VirtualConnectionPriceASideAccessPoint 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of port + if self.port: + _dict['port'] = self.port.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPriceASideAccessPoint from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "location": PriceLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "port": VirtualConnectionPriceASideAccessPointPort.from_dict(obj["port"]) if obj.get("port") is not None else None + }) + # 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/virtual_connection_price_a_side_access_point_port.py b/equinix/services/fabricv4/models/virtual_connection_price_a_side_access_point_port.py new file mode 100644 index 00000000..10813f7c --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_a_side_access_point_port.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.virtual_connection_price_a_side_access_point_port_settings import VirtualConnectionPriceASideAccessPointPortSettings +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceASideAccessPointPort(BaseModel): + """ + VirtualConnectionPriceASideAccessPointPort + """ # noqa: E501 + settings: Optional[VirtualConnectionPriceASideAccessPointPortSettings] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["settings"] + + 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 VirtualConnectionPriceASideAccessPointPort 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, + ) + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPriceASideAccessPointPort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "settings": VirtualConnectionPriceASideAccessPointPortSettings.from_dict(obj["settings"]) if obj.get("settings") is not None else None + }) + # 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/virtual_connection_price_a_side_access_point_port_settings.py b/equinix/services/fabricv4/models/virtual_connection_price_a_side_access_point_port_settings.py new file mode 100644 index 00000000..a1107adb --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_a_side_access_point_port_settings.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceASideAccessPointPortSettings(BaseModel): + """ + VirtualConnectionPriceASideAccessPointPortSettings + """ # noqa: E501 + buyout: Optional[StrictBool] = False + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["buyout"] + + 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 VirtualConnectionPriceASideAccessPointPortSettings 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 VirtualConnectionPriceASideAccessPointPortSettings from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "buyout": obj.get("buyout") if obj.get("buyout") is not None else False + }) + # 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/virtual_connection_price_access_point_type.py b/equinix/services/fabricv4/models/virtual_connection_price_access_point_type.py new file mode 100644 index 00000000..d2c6caa4 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_access_point_type.py @@ -0,0 +1,43 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualConnectionPriceAccessPointType(str, Enum): + """ + Virtual Connection access point type + """ + + """ + allowed enum values + """ + VD = 'VD' + SP = 'SP' + COLO = 'COLO' + CLOUD_ROUTER = 'CLOUD_ROUTER' + CHAINGROUP = 'CHAINGROUP' + NETWORK = 'NETWORK' + METAL_NETWORK = 'METAL_NETWORK' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VirtualConnectionPriceAccessPointType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/virtual_connection_price_connection_type.py b/equinix/services/fabricv4/models/virtual_connection_price_connection_type.py new file mode 100644 index 00000000..0940eba1 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_connection_type.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualConnectionPriceConnectionType(str, Enum): + """ + Virtual Connection type + """ + + """ + allowed enum values + """ + EVPL_VC = 'EVPL_VC' + EPL_VC = 'EPL_VC' + EC_VC = 'EC_VC' + IP_VC = 'IP_VC' + VD_CHAIN_VC = 'VD_CHAIN_VC' + ACCESS_EPL_VC = 'ACCESS_EPL_VC' + EVPLAN_VC = 'EVPLAN_VC' + EPLAN_VC = 'EPLAN_VC' + IPWAN_VC = 'IPWAN_VC' + IA_VC = 'IA_VC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VirtualConnectionPriceConnectionType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/virtual_connection_price_z_side.py b/equinix/services/fabricv4/models/virtual_connection_price_z_side.py new file mode 100644 index 00000000..2f860984 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_z_side.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point import VirtualConnectionPriceZSideAccessPoint +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceZSide(BaseModel): + """ + VirtualConnectionPriceZSide + """ # noqa: E501 + access_point: Optional[VirtualConnectionPriceZSideAccessPoint] = Field(default=None, alias="accessPoint") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["accessPoint"] + + 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 VirtualConnectionPriceZSide 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, + ) + # override the default output from pydantic by calling `to_dict()` of access_point + if self.access_point: + _dict['accessPoint'] = self.access_point.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPriceZSide from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "accessPoint": VirtualConnectionPriceZSideAccessPoint.from_dict(obj["accessPoint"]) if obj.get("accessPoint") is not None else None + }) + # 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/virtual_connection_price_z_side_access_point.py b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point.py new file mode 100644 index 00000000..502ea632 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point.py @@ -0,0 +1,128 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.price_location import PriceLocation +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port import VirtualConnectionPriceASideAccessPointPort +from equinix.services.fabricv4.models.virtual_connection_price_access_point_type import VirtualConnectionPriceAccessPointType +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge import VirtualConnectionPriceZSideAccessPointBridge +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile import VirtualConnectionPriceZSideAccessPointProfile +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceZSideAccessPoint(BaseModel): + """ + VirtualConnectionPriceZSideAccessPoint + """ # noqa: E501 + uuid: Optional[StrictStr] = None + type: Optional[VirtualConnectionPriceAccessPointType] = None + location: Optional[PriceLocation] = None + port: Optional[VirtualConnectionPriceASideAccessPointPort] = None + profile: Optional[VirtualConnectionPriceZSideAccessPointProfile] = None + bridge: Optional[VirtualConnectionPriceZSideAccessPointBridge] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "location", "port", "profile", "bridge"] + + 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 VirtualConnectionPriceZSideAccessPoint 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of port + if self.port: + _dict['port'] = self.port.to_dict() + # override the default output from pydantic by calling `to_dict()` of profile + if self.profile: + _dict['profile'] = self.profile.to_dict() + # override the default output from pydantic by calling `to_dict()` of bridge + if self.bridge: + _dict['bridge'] = self.bridge.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPriceZSideAccessPoint from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "location": PriceLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "port": VirtualConnectionPriceASideAccessPointPort.from_dict(obj["port"]) if obj.get("port") is not None else None, + "profile": VirtualConnectionPriceZSideAccessPointProfile.from_dict(obj["profile"]) if obj.get("profile") is not None else None, + "bridge": VirtualConnectionPriceZSideAccessPointBridge.from_dict(obj["bridge"]) if obj.get("bridge") is not None else None + }) + # 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/virtual_connection_price_z_side_access_point_bridge.py b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point_bridge.py new file mode 100644 index 00000000..63f81026 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point_bridge.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.virtual_connection_price_z_side_access_point_bridge_package import VirtualConnectionPriceZSideAccessPointBridgePackage +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceZSideAccessPointBridge(BaseModel): + """ + VirtualConnectionPriceZSideAccessPointBridge + """ # noqa: E501 + package: Optional[VirtualConnectionPriceZSideAccessPointBridgePackage] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["package"] + + 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 VirtualConnectionPriceZSideAccessPointBridge 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, + ) + # override the default output from pydantic by calling `to_dict()` of package + if self.package: + _dict['package'] = self.package.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualConnectionPriceZSideAccessPointBridge from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "package": VirtualConnectionPriceZSideAccessPointBridgePackage.from_dict(obj["package"]) if obj.get("package") is not None else None + }) + # 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/virtual_connection_price_z_side_access_point_bridge_package.py b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point_bridge_package.py new file mode 100644 index 00000000..907b22cc --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point_bridge_package.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.virtual_connection_bridge_package_code import VirtualConnectionBridgePackageCode +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceZSideAccessPointBridgePackage(BaseModel): + """ + VirtualConnectionPriceZSideAccessPointBridgePackage + """ # noqa: E501 + code: Optional[VirtualConnectionBridgePackageCode] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["code"] + + 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 VirtualConnectionPriceZSideAccessPointBridgePackage 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 VirtualConnectionPriceZSideAccessPointBridgePackage from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "code": obj.get("code") + }) + # 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/virtual_connection_price_z_side_access_point_profile.py b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point_profile.py new file mode 100644 index 00000000..2e132b23 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_connection_price_z_side_access_point_profile.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class VirtualConnectionPriceZSideAccessPointProfile(BaseModel): + """ + VirtualConnectionPriceZSideAccessPointProfile + """ # noqa: E501 + uuid: Optional[StrictStr] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid"] + + 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 VirtualConnectionPriceZSideAccessPointProfile 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 VirtualConnectionPriceZSideAccessPointProfile from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid") + }) + # 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/virtual_device.py b/equinix/services/fabricv4/models/virtual_device.py new file mode 100644 index 00000000..9ecae053 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_device.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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.simplified_account import SimplifiedAccount +from equinix.services.fabricv4.models.virtual_device_type import VirtualDeviceType +from typing import Optional, Set +from typing_extensions import Self + +class VirtualDevice(BaseModel): + """ + Virtual Device AccessPoint Information + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="Virtual Device URI") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned Virtual Device identifier") + name: Optional[StrictStr] = Field(default=None, description="Customer-assigned Virtual Device name") + type: Optional[VirtualDeviceType] = None + account: Optional[SimplifiedAccount] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid", "name", "type", "account"] + + 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 VirtualDevice 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # override the default output from pydantic by calling `to_dict()` of account + if self.account: + _dict['account'] = self.account.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualDevice 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"), + "uuid": obj.get("uuid"), + "name": obj.get("name"), + "type": obj.get("type"), + "account": SimplifiedAccount.from_dict(obj["account"]) if obj.get("account") is not None else None + }) + # 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/virtual_device_type.py b/equinix/services/fabricv4/models/virtual_device_type.py new file mode 100644 index 00000000..e981795a --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_device_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualDeviceType(str, Enum): + """ + Virtual Device type + """ + + """ + allowed enum values + """ + EDGE = 'EDGE' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VirtualDeviceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/virtual_network.py b/equinix/services/fabricv4/models/virtual_network.py new file mode 100644 index 00000000..0eb7bbf5 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_network.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualNetwork(BaseModel): + """ + Virtual Network Information + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="The Canonical URL at which the resource resides.") + uuid: Optional[StrictStr] = Field(default=None, description="Equinix-assigned Virtual Network identifier") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid"] + + 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 VirtualNetwork 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 VirtualNetwork 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"), + "uuid": obj.get("uuid") + }) + # 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/virtual_port_configuration.py b/equinix/services/fabricv4/models/virtual_port_configuration.py new file mode 100644 index 00000000..a2f10e6f --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_port_configuration.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class VirtualPortConfiguration(BaseModel): + """ + Port configuration. + """ # noqa: E501 + buyout: Optional[StrictBool] = Field(default=False, description="Buyout (true) or standard (false) configuration of the port at this access point.
Buyout ports offer free, unlimited connections. Standard ports do not. The default is false.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["buyout"] + + 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 VirtualPortConfiguration 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 VirtualPortConfiguration from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "buyout": obj.get("buyout") if obj.get("buyout") is not None else False + }) + # 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/virtual_port_location.py b/equinix/services/fabricv4/models/virtual_port_location.py new file mode 100644 index 00000000..8af1c874 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_port_location.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualPortLocation(BaseModel): + """ + Geographic data for the port. + """ # noqa: E501 + ibx: Optional[StrictStr] = Field(default=None, description="Code assigned to the Equinix International Business Exchange (IBX) data center from which the port is ordered.
The port might be in a different location.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["ibx"] + + 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 VirtualPortLocation 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 VirtualPortLocation from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "ibx": obj.get("ibx") + }) + # 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/virtual_port_price.py b/equinix/services/fabricv4/models/virtual_port_price.py new file mode 100644 index 00000000..0420a57d --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_port_price.py @@ -0,0 +1,141 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.connectivity_source import ConnectivitySource +from equinix.services.fabricv4.models.link_aggregation_group import LinkAggregationGroup +from equinix.services.fabricv4.models.virtual_port_configuration import VirtualPortConfiguration +from equinix.services.fabricv4.models.virtual_port_location import VirtualPortLocation +from equinix.services.fabricv4.models.virtual_port_redundancy import VirtualPortRedundancy +from equinix.services.fabricv4.models.virtual_port_service_type import VirtualPortServiceType +from equinix.services.fabricv4.models.virtual_port_type import VirtualPortType +from typing import Optional, Set +from typing_extensions import Self + +class VirtualPortPrice(BaseModel): + """ + Preferences and settings for a virtual port connected to an internet service provider (ISP) or other Equinix platform entity. + """ # noqa: E501 + uuid: Optional[StrictStr] = Field(default=None, description="Unique identifier assigned to the virtual port. Either the uuid or the remaining attributes must be supplied.") + type: Optional[VirtualPortType] = None + location: Optional[VirtualPortLocation] = None + lag: Optional[LinkAggregationGroup] = None + physical_ports_quantity: Optional[StrictInt] = Field(default=1, description="Number of physical ports requested. The defaults is 1.", alias="physicalPortsQuantity") + bandwidth: Optional[StrictInt] = Field(default=None, description="Aggregated data transfer capacity, expressed as follows
-> Mbps, megabits (1 million bits) per second
-> Gbps, gigabits (1 billion bits) per second
Bandwidth must be divisible by physicalPortsQuantity.") + redundancy: Optional[VirtualPortRedundancy] = None + connectivity_source: Optional[ConnectivitySource] = Field(default=None, alias="connectivitySource") + service_type: Optional[VirtualPortServiceType] = Field(default=None, alias="serviceType") + settings: Optional[VirtualPortConfiguration] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["uuid", "type", "location", "lag", "physicalPortsQuantity", "bandwidth", "redundancy", "connectivitySource", "serviceType", "settings"] + + 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 VirtualPortPrice 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, + ) + # override the default output from pydantic by calling `to_dict()` of location + if self.location: + _dict['location'] = self.location.to_dict() + # override the default output from pydantic by calling `to_dict()` of lag + if self.lag: + _dict['lag'] = self.lag.to_dict() + # override the default output from pydantic by calling `to_dict()` of redundancy + if self.redundancy: + _dict['redundancy'] = self.redundancy.to_dict() + # override the default output from pydantic by calling `to_dict()` of connectivity_source + if self.connectivity_source: + _dict['connectivitySource'] = self.connectivity_source.to_dict() + # override the default output from pydantic by calling `to_dict()` of settings + if self.settings: + _dict['settings'] = self.settings.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(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of VirtualPortPrice from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "uuid": obj.get("uuid"), + "type": obj.get("type"), + "location": VirtualPortLocation.from_dict(obj["location"]) if obj.get("location") is not None else None, + "lag": LinkAggregationGroup.from_dict(obj["lag"]) if obj.get("lag") is not None else None, + "physicalPortsQuantity": obj.get("physicalPortsQuantity") if obj.get("physicalPortsQuantity") is not None else 1, + "bandwidth": obj.get("bandwidth"), + "redundancy": VirtualPortRedundancy.from_dict(obj["redundancy"]) if obj.get("redundancy") is not None else None, + "connectivitySource": ConnectivitySource.from_dict(obj["connectivitySource"]) if obj.get("connectivitySource") is not None else None, + "serviceType": obj.get("serviceType"), + "settings": VirtualPortConfiguration.from_dict(obj["settings"]) if obj.get("settings") is not None else None + }) + # 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/virtual_port_redundancy.py b/equinix/services/fabricv4/models/virtual_port_redundancy.py new file mode 100644 index 00000000..f7ea30c2 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_port_redundancy.py @@ -0,0 +1,101 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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, StrictBool +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class VirtualPortRedundancy(BaseModel): + """ + Specifications for redundant connections, which improve service continuity by routing traffic to secondary ports when primary ports are unavailable.
Redundancy increases resilience and boosts site reliability scores. + """ # noqa: E501 + enabled: Optional[StrictBool] = Field(default=False, description="Parameter showing whether redundancy is mandatory. The default is false.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["enabled"] + + 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 VirtualPortRedundancy 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 VirtualPortRedundancy from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "enabled": obj.get("enabled") if obj.get("enabled") is not None else False + }) + # 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/virtual_port_service_type.py b/equinix/services/fabricv4/models/virtual_port_service_type.py new file mode 100644 index 00000000..4a265977 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_port_service_type.py @@ -0,0 +1,38 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualPortServiceType(str, Enum): + """ + Port service type. The default is managed-service provider (MSP). + """ + + """ + allowed enum values + """ + MSP = 'MSP' + EPL = 'EPL' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VirtualPortServiceType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/virtual_port_type.py b/equinix/services/fabricv4/models/virtual_port_type.py new file mode 100644 index 00000000..5f6693d1 --- /dev/null +++ b/equinix/services/fabricv4/models/virtual_port_type.py @@ -0,0 +1,37 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VirtualPortType(str, Enum): + """ + Port type. + """ + + """ + allowed enum values + """ + XF_PORT = 'XF_PORT' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of VirtualPortType from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/vpic_interface.py b/equinix/services/fabricv4/models/vpic_interface.py new file mode 100644 index 00000000..56e41cd9 --- /dev/null +++ b/equinix/services/fabricv4/models/vpic_interface.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + 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 VpicInterface(BaseModel): + """ + MCN VPIC Interface Information + """ # noqa: E501 + href: Optional[StrictStr] = Field(default=None, description="The Canonical URL at which the resource resides.") + uuid: Optional[StrictStr] = Field(default=None, description="MCN assigned VPIC Interface Identifier") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "uuid"] + + 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 VpicInterface 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. + * OpenAPI `readOnly` fields are excluded. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "href", + "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 VpicInterface 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"), + "uuid": obj.get("uuid") + }) + # 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/rest.py b/equinix/services/fabricv4/rest.py new file mode 100644 index 00000000..500013d3 --- /dev/null +++ b/equinix/services/fabricv4/rest.py @@ -0,0 +1,256 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import io +import json +import re +import ssl + +import urllib3 + +from equinix.services.fabricv4.exceptions import ApiException, ApiValueError + +SUPPORTED_SOCKS_PROXIES = {"socks5", "socks5h", "socks4", "socks4a"} +RESTResponseType = urllib3.HTTPResponse + + +def is_socks_proxy_url(url): + if url is None: + return False + split_section = url.split("://") + if len(split_section) < 2: + return False + else: + return split_section[0].lower() in SUPPORTED_SOCKS_PROXIES + + +class RESTResponse(io.IOBase): + + def __init__(self, resp) -> None: + self.response = resp + self.status = resp.status + self.reason = resp.reason + self.data = None + + def read(self): + if self.data is None: + self.data = self.response.data + return self.data + + def getheaders(self): + """Returns a dictionary of the response headers.""" + return self.response.headers + + def getheader(self, name, default=None): + """Returns a given response header.""" + return self.response.headers.get(name, default) + + +class RESTClientObject: + + def __init__(self, configuration) -> None: + # urllib3.PoolManager will pass all kw parameters to connectionpool + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 + # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 + # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 + + # cert_reqs + if configuration.verify_ssl: + cert_reqs = ssl.CERT_REQUIRED + else: + cert_reqs = ssl.CERT_NONE + + pool_args = { + "cert_reqs": cert_reqs, + "ca_certs": configuration.ssl_ca_cert, + "cert_file": configuration.cert_file, + "key_file": configuration.key_file, + } + if configuration.assert_hostname is not None: + pool_args['assert_hostname'] = ( + configuration.assert_hostname + ) + + if configuration.retries is not None: + pool_args['retries'] = configuration.retries + + if configuration.tls_server_name: + pool_args['server_hostname'] = configuration.tls_server_name + + + if configuration.socket_options is not None: + pool_args['socket_options'] = configuration.socket_options + + if configuration.connection_pool_maxsize is not None: + pool_args['maxsize'] = configuration.connection_pool_maxsize + + # https pool manager + self.pool_manager: urllib3.PoolManager + + if configuration.proxy: + if is_socks_proxy_url(configuration.proxy): + from urllib3.contrib.socks import SOCKSProxyManager + pool_args["proxy_url"] = configuration.proxy + pool_args["headers"] = configuration.proxy_headers + self.pool_manager = SOCKSProxyManager(**pool_args) + else: + pool_args["proxy_url"] = configuration.proxy + pool_args["proxy_headers"] = configuration.proxy_headers + self.pool_manager = urllib3.ProxyManager(**pool_args) + else: + self.pool_manager = urllib3.PoolManager(**pool_args) + + def request( + self, + method, + url, + headers=None, + body=None, + post_params=None, + _request_timeout=None + ): + """Perform requests. + + :param method: http request method + :param url: http request url + :param headers: http request headers + :param body: request json body, for `application/json` + :param post_params: request post parameters, + `application/x-www-form-urlencoded` + and `multipart/form-data` + :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. + """ + method = method.upper() + assert method in [ + 'GET', + 'HEAD', + 'DELETE', + 'POST', + 'PUT', + 'PATCH', + 'OPTIONS' + ] + + if post_params and body: + raise ApiValueError( + "body parameter cannot be used with post_params parameter." + ) + + post_params = post_params or {} + headers = headers or {} + + timeout = None + if _request_timeout: + if isinstance(_request_timeout, (int, float)): + timeout = urllib3.Timeout(total=_request_timeout) + elif ( + isinstance(_request_timeout, tuple) + and len(_request_timeout) == 2 + ): + timeout = urllib3.Timeout( + connect=_request_timeout[0], + read=_request_timeout[1] + ) + + try: + # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` + if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']: + + # no content type provided or payload is json + content_type = headers.get('Content-Type') + if ( + not content_type + or re.search('json', content_type, re.IGNORECASE) + ): + request_body = None + if body is not None: + request_body = json.dumps(body) + r = self.pool_manager.request( + method, + url, + body=request_body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'application/x-www-form-urlencoded': + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=False, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif content_type == 'multipart/form-data': + # must del headers['Content-Type'], or the correct + # Content-Type which generated by urllib3 will be + # overwritten. + del headers['Content-Type'] + r = self.pool_manager.request( + method, + url, + fields=post_params, + encode_multipart=True, + timeout=timeout, + headers=headers, + preload_content=False + ) + # Pass a `string` parameter directly in the body to support + # other content types than JSON when `body` argument is + # provided in serialized form. + elif isinstance(body, str) or isinstance(body, bytes): + r = self.pool_manager.request( + method, + url, + body=body, + timeout=timeout, + headers=headers, + preload_content=False + ) + elif headers['Content-Type'] == 'text/plain' and isinstance(body, bool): + request_body = "true" if body else "false" + r = self.pool_manager.request( + method, + url, + body=request_body, + preload_content=False, + timeout=timeout, + headers=headers) + else: + # Cannot generate the request from given parameters + msg = """Cannot prepare a request message for provided + arguments. Please check that your arguments match + declared content type.""" + raise ApiException(status=0, reason=msg) + # For `GET`, `HEAD` + else: + r = self.pool_manager.request( + method, + url, + fields={}, + timeout=timeout, + headers=headers, + preload_content=False + ) + except urllib3.exceptions.SSLError as e: + msg = "\n".join([type(e).__name__, str(e)]) + raise ApiException(status=0, reason=msg) + + return RESTResponse(r) diff --git a/equinix/services/fabricv4/test/__init__.py b/equinix/services/fabricv4/test/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/equinix/services/fabricv4/test/test_access_point.py b/equinix/services/fabricv4/test/test_access_point.py new file mode 100644 index 00000000..a718c297 --- /dev/null +++ b/equinix/services/fabricv4/test/test_access_point.py @@ -0,0 +1,399 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.access_point import AccessPoint + +class TestAccessPoint(unittest.TestCase): + """AccessPoint unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AccessPoint: + """Test AccessPoint + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AccessPoint` + """ + model = AccessPoint() + if include_optional: + return AccessPoint( + type = 'VD', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + port = equinix.services.fabricv4.models.simplified_port.SimplifiedPort( + type = 'XF_PORT', + id = 56, + href = '', + uuid = '', + name = '', + description = '', + physical_ports_speed = 0, + connections_count = 0, + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + state = 'PENDING', + cvp_id = '', + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + service_type = 'EPL', + bandwidth = 0, + available_bandwidth = 0, + used_bandwidth = 0, + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + device = equinix.services.fabricv4.models.port_device.PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ), ), + interface = equinix.services.fabricv4.models.port_interface.PortInterface( + if_index = '', + name = '', ), + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + redundancy = equinix.services.fabricv4.models.port_redundancy.PortRedundancy( + enabled = True, + group = '', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + tag_protocol_id = '', ), + lag_enabled = True, + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + physical_port_quantity = 56, + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + physical_ports = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + id = 56, + href = '', + interface_speed = 0, + interface_type = '', + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ], ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + type = 'L2_PROFILE', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + state = 'PROVISIONED', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + link_protocol = equinix.services.fabricv4.models.simplified_link_protocol.SimplifiedLinkProtocol( + type = 'UNTAGGED', + vlan_tag = 2, + vlan_s_tag = 2, + vlan_c_tag = 2, ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', + type = 'EDGE', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + type = 'CLOUD', + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + state = 'ACTIVE', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change = equinix.services.fabricv4.models.simplified_network_change.SimplifiedNetworkChange( + href = 'https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9', + uuid = '4b17da68-3d6b-436d-9c8f-2105f3b950d9', + type = 'NETWORK_CREATION', ), + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + type = 'EVPLAN', + scope = 'REGIONAL', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ) + ) + else: + return AccessPoint( + ) + """ + + def testAccessPoint(self): + """Test AccessPoint""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_access_point_selector.py b/equinix/services/fabricv4/test/test_access_point_selector.py new file mode 100644 index 00000000..b7aa6673 --- /dev/null +++ b/equinix/services/fabricv4/test/test_access_point_selector.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.access_point_selector import AccessPointSelector + +class TestAccessPointSelector(unittest.TestCase): + """AccessPointSelector unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AccessPointSelector: + """Test AccessPointSelector + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AccessPointSelector` + """ + model = AccessPointSelector() + if include_optional: + return AccessPointSelector( + type = 'COLO', + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', + type = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol() + ) + else: + return AccessPointSelector( + ) + """ + + def testAccessPointSelector(self): + """Test AccessPointSelector""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_access_point_selector_type.py b/equinix/services/fabricv4/test/test_access_point_selector_type.py new file mode 100644 index 00000000..3aa08eb2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_access_point_selector_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.access_point_selector_type import AccessPointSelectorType + +class TestAccessPointSelectorType(unittest.TestCase): + """AccessPointSelectorType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccessPointSelectorType(self): + """Test AccessPointSelectorType""" + # inst = AccessPointSelectorType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_access_point_type.py b/equinix/services/fabricv4/test/test_access_point_type.py new file mode 100644 index 00000000..5a24f7fe --- /dev/null +++ b/equinix/services/fabricv4/test/test_access_point_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.access_point_type import AccessPointType + +class TestAccessPointType(unittest.TestCase): + """AccessPointType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAccessPointType(self): + """Test AccessPointType""" + # inst = AccessPointType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_account.py b/equinix/services/fabricv4/test/test_account.py new file mode 100644 index 00000000..231b0d32 --- /dev/null +++ b/equinix/services/fabricv4/test/test_account.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.account import Account + +class TestAccount(unittest.TestCase): + """Account unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Account: + """Test Account + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Account` + """ + model = Account() + if include_optional: + return Account( + account_number = 56, + is_reseller_account = True, + org_id = '', + global_org_id = '' + ) + else: + return Account( + account_number = 56, + ) + """ + + def testAccount(self): + """Test Account""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_actions.py b/equinix/services/fabricv4/test/test_actions.py new file mode 100644 index 00000000..fe22baa8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_actions.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.actions import Actions + +class TestActions(unittest.TestCase): + """Actions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testActions(self): + """Test Actions""" + # inst = Actions() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_add_operation.py b/equinix/services/fabricv4/test/test_add_operation.py new file mode 100644 index 00000000..f4a19125 --- /dev/null +++ b/equinix/services/fabricv4/test/test_add_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.add_operation import AddOperation + +class TestAddOperation(unittest.TestCase): + """AddOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AddOperation: + """Test AddOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AddOperation` + """ + model = AddOperation() + if include_optional: + return AddOperation( + op = 'add', + path = '', + value = equinix.services.fabricv4.models.value.value() + ) + else: + return AddOperation( + op = 'add', + path = '', + value = equinix.services.fabricv4.models.value.value(), + ) + """ + + def testAddOperation(self): + """Test AddOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_advance_configuration.py b/equinix/services/fabricv4/test/test_advance_configuration.py new file mode 100644 index 00000000..c52575b3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_advance_configuration.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.advance_configuration import AdvanceConfiguration + +class TestAdvanceConfiguration(unittest.TestCase): + """AdvanceConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AdvanceConfiguration: + """Test AdvanceConfiguration + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AdvanceConfiguration` + """ + model = AdvanceConfiguration() + if include_optional: + return AdvanceConfiguration( + ntp = [ + equinix.services.fabricv4.models.md5.md5( + type = 'ASCII', + id = '', + password = '', ) + ], + ptp = equinix.services.fabricv4.models.ptp_advance_configuration.ptpAdvanceConfiguration( + time_scale = 'ARB', + domain = 0, + priority1 = 0, + priority2 = 0, + log_announce_interval = 0, + log_sync_interval = 0, + log_delay_req_interval = 0, + transport_mode = 'Multicast', + grant_time = 300, ) + ) + else: + return AdvanceConfiguration( + ) + """ + + def testAdvanceConfiguration(self): + """Test AdvanceConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_all_physical_ports_response.py b/equinix/services/fabricv4/test/test_all_physical_ports_response.py new file mode 100644 index 00000000..072c34cf --- /dev/null +++ b/equinix/services/fabricv4/test/test_all_physical_ports_response.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.all_physical_ports_response import AllPhysicalPortsResponse + +class TestAllPhysicalPortsResponse(unittest.TestCase): + """AllPhysicalPortsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllPhysicalPortsResponse: + """Test AllPhysicalPortsResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllPhysicalPortsResponse` + """ + model = AllPhysicalPortsResponse() + if include_optional: + return AllPhysicalPortsResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + type = 'XF_PHYSICAL_PORT', + id = 56, + href = '', + state = 'PENDING', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ] + ) + else: + return AllPhysicalPortsResponse( + ) + """ + + def testAllPhysicalPortsResponse(self): + """Test AllPhysicalPortsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_all_ports_response.py b/equinix/services/fabricv4/test/test_all_ports_response.py new file mode 100644 index 00000000..50cf2b60 --- /dev/null +++ b/equinix/services/fabricv4/test/test_all_ports_response.py @@ -0,0 +1,204 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.all_ports_response import AllPortsResponse + +class TestAllPortsResponse(unittest.TestCase): + """AllPortsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AllPortsResponse: + """Test AllPortsResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AllPortsResponse` + """ + model = AllPortsResponse() + if include_optional: + return AllPortsResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.port_response.PortResponse( + type = 'XF_PORT', + id = 56, + href = '', + uuid = '', + name = '', + description = '', + physical_ports_speed = 0, + connections_count = 0, + physical_ports_type = '1000BASE_LX', + physical_ports_count = 56, + connectivity_source_type = 'COLO', + bmmr_type = 'SELF', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + state = 'PENDING', + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + cvp_id = '', + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + account = equinix.services.fabricv4.models.simplified_account_port_response.SimplifiedAccountPortResponse( + account_number = '', + org_id = '', + reseller_account_number = '', + reseller_org_id = '', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + service_type = 'EPL', + bandwidth = 0, + available_bandwidth = 0, + used_bandwidth = 0, + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + device = equinix.services.fabricv4.models.port_device.PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ), ), + interface = equinix.services.fabricv4.models.port_interface.PortInterface( + if_index = '', + name = '', ), + demarcation_point_ibx = '', + tether_ibx = '', + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + redundancy = equinix.services.fabricv4.models.port_redundancy.PortRedundancy( + enabled = True, + group = '', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + tag_protocol_id = '', ), + lag_enabled = True, + lag = equinix.services.fabricv4.models.port_lag.PortLag( + id = '', + enabled = True, + name = '', + member_status = '', ), + asn = 56, + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + physical_port_quantity = 56, + notifications = [ + equinix.services.fabricv4.models.port_notification.PortNotification( + type = 'NOTIFICATION', + registered_users = [ + '' + ], ) + ], + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + physical_ports = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + id = 56, + href = '', + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ], + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ] + ) + else: + return AllPortsResponse( + ) + """ + + def testAllPortsResponse(self): + """Test AllPortsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_api_config.py b/equinix/services/fabricv4/test/test_api_config.py new file mode 100644 index 00000000..fe3086e2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_api_config.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.api_config import ApiConfig + +class TestApiConfig(unittest.TestCase): + """ApiConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ApiConfig: + """Test ApiConfig + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ApiConfig` + """ + model = ApiConfig() + if include_optional: + return ApiConfig( + api_available = True, + integration_id = '', + equinix_managed_port = True, + equinix_managed_vlan = True, + allow_over_subscription = False, + over_subscription_limit = 1, + bandwidth_from_api = True + ) + else: + return ApiConfig( + ) + """ + + def testApiConfig(self): + """Test ApiConfig""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_api_services.py b/equinix/services/fabricv4/test/test_api_services.py new file mode 100644 index 00000000..20df34d7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_api_services.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.api_services import ApiServices + +class TestApiServices(unittest.TestCase): + """ApiServices unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ApiServices: + """Test ApiServices + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ApiServices` + """ + model = ApiServices() + if include_optional: + return ApiServices( + route = '', + status = '', + changed_date_time = '' + ) + else: + return ApiServices( + ) + """ + + def testApiServices(self): + """Test ApiServices""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_authentication_key.py b/equinix/services/fabricv4/test/test_authentication_key.py new file mode 100644 index 00000000..28148897 --- /dev/null +++ b/equinix/services/fabricv4/test/test_authentication_key.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.authentication_key import AuthenticationKey + +class TestAuthenticationKey(unittest.TestCase): + """AuthenticationKey unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> AuthenticationKey: + """Test AuthenticationKey + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `AuthenticationKey` + """ + model = AuthenticationKey() + if include_optional: + return AuthenticationKey( + required = True, + label = 'Service Key', + description = 'description for the authentication key' + ) + else: + return AuthenticationKey( + ) + """ + + def testAuthenticationKey(self): + """Test AuthenticationKey""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bandwidth_utilization.py b/equinix/services/fabricv4/test/test_bandwidth_utilization.py new file mode 100644 index 00000000..8133654e --- /dev/null +++ b/equinix/services/fabricv4/test/test_bandwidth_utilization.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bandwidth_utilization import BandwidthUtilization + +class TestBandwidthUtilization(unittest.TestCase): + """BandwidthUtilization unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BandwidthUtilization: + """Test BandwidthUtilization + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BandwidthUtilization` + """ + model = BandwidthUtilization() + if include_optional: + return BandwidthUtilization( + unit = 'Mbps', + metric_interval = '', + inbound = equinix.services.fabricv4.models.direction.Direction( + max = 1.337, + mean = 1.337, + metrics = [ + equinix.services.fabricv4.models.metrics.Metrics( + interval_end_timestamp = '2020-11-06T07:00Z', + max = 1.337, + mean = 1.337, ) + ], ), + outbound = equinix.services.fabricv4.models.direction.Direction( + max = 1.337, + mean = 1.337, + metrics = [ + equinix.services.fabricv4.models.metrics.Metrics( + interval_end_timestamp = '2020-11-06T07:00Z', + max = 1.337, + mean = 1.337, ) + ], ) + ) + else: + return BandwidthUtilization( + ) + """ + + def testBandwidthUtilization(self): + """Test BandwidthUtilization""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bandwidth_utilization_unit.py b/equinix/services/fabricv4/test/test_bandwidth_utilization_unit.py new file mode 100644 index 00000000..9dc317dd --- /dev/null +++ b/equinix/services/fabricv4/test/test_bandwidth_utilization_unit.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bandwidth_utilization_unit import BandwidthUtilizationUnit + +class TestBandwidthUtilizationUnit(unittest.TestCase): + """BandwidthUtilizationUnit unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testBandwidthUtilizationUnit(self): + """Test BandwidthUtilizationUnit""" + # inst = BandwidthUtilizationUnit() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_action_data.py b/equinix/services/fabricv4/test/test_bgp_action_data.py new file mode 100644 index 00000000..8ff793a7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_action_data.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_action_data import BGPActionData + +class TestBGPActionData(unittest.TestCase): + """BGPActionData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BGPActionData: + """Test BGPActionData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BGPActionData` + """ + model = BGPActionData() + if include_optional: + return BGPActionData( + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5/actions', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + type = 'CLEAR_BGPIPV4', + description = '', + state = 'PENDING', + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return BGPActionData( + ) + """ + + def testBGPActionData(self): + """Test BGPActionData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_action_request.py b/equinix/services/fabricv4/test/test_bgp_action_request.py new file mode 100644 index 00000000..ead3856a --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_action_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_action_request import BGPActionRequest + +class TestBGPActionRequest(unittest.TestCase): + """BGPActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BGPActionRequest: + """Test BGPActionRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BGPActionRequest` + """ + model = BGPActionRequest() + if include_optional: + return BGPActionRequest( + type = 'CLEAR_BGPIPV4' + ) + else: + return BGPActionRequest( + type = 'CLEAR_BGPIPV4', + ) + """ + + def testBGPActionRequest(self): + """Test BGPActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_action_states.py b/equinix/services/fabricv4/test/test_bgp_action_states.py new file mode 100644 index 00000000..88e534dd --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_action_states.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_action_states import BGPActionStates + +class TestBGPActionStates(unittest.TestCase): + """BGPActionStates unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testBGPActionStates(self): + """Test BGPActionStates""" + # inst = BGPActionStates() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_actions.py b/equinix/services/fabricv4/test/test_bgp_actions.py new file mode 100644 index 00000000..7bee5182 --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_actions.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_actions import BGPActions + +class TestBGPActions(unittest.TestCase): + """BGPActions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testBGPActions(self): + """Test BGPActions""" + # inst = BGPActions() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_actions_bulk_data.py b/equinix/services/fabricv4/test/test_bgp_actions_bulk_data.py new file mode 100644 index 00000000..fcf52950 --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_actions_bulk_data.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_actions_bulk_data import BGPActionsBulkData + +class TestBGPActionsBulkData(unittest.TestCase): + """BGPActionsBulkData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BGPActionsBulkData: + """Test BGPActionsBulkData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BGPActionsBulkData` + """ + model = BGPActionsBulkData() + if include_optional: + return BGPActionsBulkData( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.bgp_action_data.BGPActionData( + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5/actions', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + type = 'CLEAR_BGPIPV4', + description = '', + state = 'PENDING', + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), ) + ] + ) + else: + return BGPActionsBulkData( + ) + """ + + def testBGPActionsBulkData(self): + """Test BGPActionsBulkData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_connection_ipv4.py b/equinix/services/fabricv4/test/test_bgp_connection_ipv4.py new file mode 100644 index 00000000..a595ca07 --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_connection_ipv4.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_connection_ipv4 import BGPConnectionIpv4 + +class TestBGPConnectionIpv4(unittest.TestCase): + """BGPConnectionIpv4 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BGPConnectionIpv4: + """Test BGPConnectionIpv4 + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BGPConnectionIpv4` + """ + model = BGPConnectionIpv4() + if include_optional: + return BGPConnectionIpv4( + customer_peer_ip = '10.1.1.2', + equinix_peer_ip = '10.1.1.3', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ) + ) + else: + return BGPConnectionIpv4( + customer_peer_ip = '10.1.1.2', + enabled = True, + ) + """ + + def testBGPConnectionIpv4(self): + """Test BGPConnectionIpv4""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_connection_ipv6.py b/equinix/services/fabricv4/test/test_bgp_connection_ipv6.py new file mode 100644 index 00000000..ec468d1c --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_connection_ipv6.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_connection_ipv6 import BGPConnectionIpv6 + +class TestBGPConnectionIpv6(unittest.TestCase): + """BGPConnectionIpv6 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BGPConnectionIpv6: + """Test BGPConnectionIpv6 + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BGPConnectionIpv6` + """ + model = BGPConnectionIpv6() + if include_optional: + return BGPConnectionIpv6( + customer_peer_ip = '2001:db8:c59b::1', + equinix_peer_ip = '2001:db8:c59b::1', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ) + ) + else: + return BGPConnectionIpv6( + customer_peer_ip = '2001:db8:c59b::1', + enabled = True, + ) + """ + + def testBGPConnectionIpv6(self): + """Test BGPConnectionIpv6""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_connection_operation.py b/equinix/services/fabricv4/test/test_bgp_connection_operation.py new file mode 100644 index 00000000..74bc875b --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_connection_operation.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_connection_operation import BGPConnectionOperation + +class TestBGPConnectionOperation(unittest.TestCase): + """BGPConnectionOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BGPConnectionOperation: + """Test BGPConnectionOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BGPConnectionOperation` + """ + model = BGPConnectionOperation() + if include_optional: + return BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z' + ) + else: + return BGPConnectionOperation( + ) + """ + + def testBGPConnectionOperation(self): + """Test BGPConnectionOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bgp_connection_operation_operational_status.py b/equinix/services/fabricv4/test/test_bgp_connection_operation_operational_status.py new file mode 100644 index 00000000..dd2b43e2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_bgp_connection_operation_operational_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bgp_connection_operation_operational_status import BGPConnectionOperationOperationalStatus + +class TestBGPConnectionOperationOperationalStatus(unittest.TestCase): + """BGPConnectionOperationOperationalStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testBGPConnectionOperationOperationalStatus(self): + """Test BGPConnectionOperationOperationalStatus""" + # inst = BGPConnectionOperationOperationalStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bulk_physical_port.py b/equinix/services/fabricv4/test/test_bulk_physical_port.py new file mode 100644 index 00000000..97e53e68 --- /dev/null +++ b/equinix/services/fabricv4/test/test_bulk_physical_port.py @@ -0,0 +1,121 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bulk_physical_port import BulkPhysicalPort + +class TestBulkPhysicalPort(unittest.TestCase): + """BulkPhysicalPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BulkPhysicalPort: + """Test BulkPhysicalPort + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BulkPhysicalPort` + """ + model = BulkPhysicalPort() + if include_optional: + return BulkPhysicalPort( + data = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + type = 'XF_PHYSICAL_PORT', + id = 56, + href = '', + state = 'PENDING', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ] + ) + else: + return BulkPhysicalPort( + ) + """ + + def testBulkPhysicalPort(self): + """Test BulkPhysicalPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_bulk_port.py b/equinix/services/fabricv4/test/test_bulk_port.py new file mode 100644 index 00000000..d5a821fe --- /dev/null +++ b/equinix/services/fabricv4/test/test_bulk_port.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.bulk_port import BulkPort + +class TestBulkPort(unittest.TestCase): + """BulkPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> BulkPort: + """Test BulkPort + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `BulkPort` + """ + model = BulkPort() + if include_optional: + return BulkPort( + data = [ + equinix.services.fabricv4.models.port.Port() + ] + ) + else: + return BulkPort( + ) + """ + + def testBulkPort(self): + """Test BulkPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_change.py b/equinix/services/fabricv4/test/test_change.py new file mode 100644 index 00000000..f5dfc035 --- /dev/null +++ b/equinix/services/fabricv4/test/test_change.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.change import Change + +class TestChange(unittest.TestCase): + """Change unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Change: + """Test Change + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Change` + """ + model = Change() + if include_optional: + return Change( + uuid = '', + type = 'CONNECTION_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.connection_change_operation.ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = null, ) + ) + else: + return Change( + type = 'CONNECTION_CREATION', + created_date_time = '2020-11-06T07:00Z', + ) + """ + + def testChange(self): + """Test Change""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_change_status.py b/equinix/services/fabricv4/test/test_change_status.py new file mode 100644 index 00000000..99d78abb --- /dev/null +++ b/equinix/services/fabricv4/test/test_change_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.change_status import ChangeStatus + +class TestChangeStatus(unittest.TestCase): + """ChangeStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testChangeStatus(self): + """Test ChangeStatus""" + # inst = ChangeStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_change_type.py b/equinix/services/fabricv4/test/test_change_type.py new file mode 100644 index 00000000..ae56f19a --- /dev/null +++ b/equinix/services/fabricv4/test/test_change_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.change_type import ChangeType + +class TestChangeType(unittest.TestCase): + """ChangeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testChangeType(self): + """Test ChangeType""" + # inst = ChangeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_changelog.py b/equinix/services/fabricv4/test/test_changelog.py new file mode 100644 index 00000000..bd551737 --- /dev/null +++ b/equinix/services/fabricv4/test/test_changelog.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.changelog import Changelog + +class TestChangelog(unittest.TestCase): + """Changelog unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Changelog: + """Test Changelog + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Changelog` + """ + model = Changelog() + if include_optional: + return Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z' + ) + else: + return Changelog( + ) + """ + + def testChangelog(self): + """Test Changelog""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router.py b/equinix/services/fabricv4/test/test_cloud_router.py new file mode 100644 index 00000000..65665cfc --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router.py @@ -0,0 +1,127 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router import CloudRouter + +class TestCloudRouter(unittest.TestCase): + """CloudRouter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouter: + """Test CloudRouter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouter` + """ + model = CloudRouter() + if include_optional: + return CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + state = 'PROVISIONED', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), + type = 'XF_ROUTER', + location = equinix.services.fabricv4.models.simplified_location_without_ibx.SimplifiedLocationWithoutIBX( + href = '', + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', ), + package = equinix.services.fabricv4.models.cloud_router_post_request_package.CloudRouterPostRequestPackage( + href = 'https://api.equinix.com/fabric/v4/routerPackages/LAB', + type = 'ROUTER_PACKAGE', + code = 'LAB', ), + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ] + ) + else: + return CloudRouter( + ) + """ + + def testCloudRouter(self): + """Test CloudRouter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_access_point_state.py b/equinix/services/fabricv4/test/test_cloud_router_access_point_state.py new file mode 100644 index 00000000..834a53cd --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_access_point_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_access_point_state import CloudRouterAccessPointState + +class TestCloudRouterAccessPointState(unittest.TestCase): + """CloudRouterAccessPointState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterAccessPointState(self): + """Test CloudRouterAccessPointState""" + # inst = CloudRouterAccessPointState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_action_request.py b/equinix/services/fabricv4/test/test_cloud_router_action_request.py new file mode 100644 index 00000000..ced34981 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_action_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_action_request import CloudRouterActionRequest + +class TestCloudRouterActionRequest(unittest.TestCase): + """CloudRouterActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterActionRequest: + """Test CloudRouterActionRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterActionRequest` + """ + model = CloudRouterActionRequest() + if include_optional: + return CloudRouterActionRequest( + type = 'BGP_SESSION_STATUS_UPDATE' + ) + else: + return CloudRouterActionRequest( + type = 'BGP_SESSION_STATUS_UPDATE', + ) + """ + + def testCloudRouterActionRequest(self): + """Test CloudRouterActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_action_response.py b/equinix/services/fabricv4/test/test_cloud_router_action_response.py new file mode 100644 index 00000000..acd5b35f --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_action_response.py @@ -0,0 +1,84 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_action_response import CloudRouterActionResponse + +class TestCloudRouterActionResponse(unittest.TestCase): + """CloudRouterActionResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterActionResponse: + """Test CloudRouterActionResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterActionResponse` + """ + model = CloudRouterActionResponse() + if include_optional: + return CloudRouterActionResponse( + type = 'BGP_SESSION_STATUS_UPDATE', + uuid = '557400f8-d360-11e9-bb65-2a2ae2dbcce4', + description = 'description', + state = 'DONE', + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return CloudRouterActionResponse( + type = 'BGP_SESSION_STATUS_UPDATE', + uuid = '557400f8-d360-11e9-bb65-2a2ae2dbcce4', + state = 'DONE', + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + ) + """ + + def testCloudRouterActionResponse(self): + """Test CloudRouterActionResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_action_state.py b/equinix/services/fabricv4/test/test_cloud_router_action_state.py new file mode 100644 index 00000000..9d597342 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_action_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_action_state import CloudRouterActionState + +class TestCloudRouterActionState(unittest.TestCase): + """CloudRouterActionState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterActionState(self): + """Test CloudRouterActionState""" + # inst = CloudRouterActionState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_action_type.py b/equinix/services/fabricv4/test/test_cloud_router_action_type.py new file mode 100644 index 00000000..4b02f9b4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_action_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_action_type import CloudRouterActionType + +class TestCloudRouterActionType(unittest.TestCase): + """CloudRouterActionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterActionType(self): + """Test CloudRouterActionType""" + # inst = CloudRouterActionType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_change.py b/equinix/services/fabricv4/test/test_cloud_router_change.py new file mode 100644 index 00000000..cf021c5e --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_change.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_change import CloudRouterChange + +class TestCloudRouterChange(unittest.TestCase): + """CloudRouterChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterChange: + """Test CloudRouterChange + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterChange` + """ + model = CloudRouterChange() + if include_optional: + return CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ) + ) + else: + return CloudRouterChange( + type = 'ROUTER_UPDATE', + updated_date_time = '2020-11-06T07:00Z', + ) + """ + + def testCloudRouterChange(self): + """Test CloudRouterChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_change_operation.py b/equinix/services/fabricv4/test/test_cloud_router_change_operation.py new file mode 100644 index 00000000..59cc7fa3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_change_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_change_operation import CloudRouterChangeOperation + +class TestCloudRouterChangeOperation(unittest.TestCase): + """CloudRouterChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterChangeOperation: + """Test CloudRouterChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterChangeOperation` + """ + model = CloudRouterChangeOperation() + if include_optional: + return CloudRouterChangeOperation( + op = 'replace', + path = '', + value = None + ) + else: + return CloudRouterChangeOperation( + op = 'replace', + path = '', + value = None, + ) + """ + + def testCloudRouterChangeOperation(self): + """Test CloudRouterChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_change_status.py b/equinix/services/fabricv4/test/test_cloud_router_change_status.py new file mode 100644 index 00000000..31f2606d --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_change_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_change_status import CloudRouterChangeStatus + +class TestCloudRouterChangeStatus(unittest.TestCase): + """CloudRouterChangeStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterChangeStatus(self): + """Test CloudRouterChangeStatus""" + # inst = CloudRouterChangeStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_change_type.py b/equinix/services/fabricv4/test/test_cloud_router_change_type.py new file mode 100644 index 00000000..589c2d7c --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_change_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_change_type import CloudRouterChangeType + +class TestCloudRouterChangeType(unittest.TestCase): + """CloudRouterChangeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterChangeType(self): + """Test CloudRouterChangeType""" + # inst = CloudRouterChangeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_filter.py b/equinix/services/fabricv4/test/test_cloud_router_filter.py new file mode 100644 index 00000000..56440fb6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_filter.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_filter import CloudRouterFilter + +class TestCloudRouterFilter(unittest.TestCase): + """CloudRouterFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterFilter: + """Test CloudRouterFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterFilter` + """ + model = CloudRouterFilter() + if include_optional: + return CloudRouterFilter( + var_property = '/name', + operator = '=', + values = [ + 'FabricCloudRouter-1' + ], + var_or = [ + equinix.services.fabricv4.models.cloud_router_simple_expression.CloudRouterSimpleExpression( + property = '/name', + operator = '=', + values = [ + 'FabricCloudRouter-1' + ], ) + ] + ) + else: + return CloudRouterFilter( + ) + """ + + def testCloudRouterFilter(self): + """Test CloudRouterFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_filters.py b/equinix/services/fabricv4/test/test_cloud_router_filters.py new file mode 100644 index 00000000..4450f02c --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_filters.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_filters import CloudRouterFilters + +class TestCloudRouterFilters(unittest.TestCase): + """CloudRouterFilters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterFilters: + """Test CloudRouterFilters + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterFilters` + """ + model = CloudRouterFilters() + if include_optional: + return CloudRouterFilters( + var_and = [ + equinix.services.fabricv4.models.cloud_router_filter.CloudRouterFilter() + ] + ) + else: + return CloudRouterFilters( + ) + """ + + def testCloudRouterFilters(self): + """Test CloudRouterFilters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_or_filter.py b/equinix/services/fabricv4/test/test_cloud_router_or_filter.py new file mode 100644 index 00000000..d2e07636 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_or_filter.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_or_filter import CloudRouterOrFilter + +class TestCloudRouterOrFilter(unittest.TestCase): + """CloudRouterOrFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterOrFilter: + """Test CloudRouterOrFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterOrFilter` + """ + model = CloudRouterOrFilter() + if include_optional: + return CloudRouterOrFilter( + var_or = [ + equinix.services.fabricv4.models.cloud_router_simple_expression.CloudRouterSimpleExpression( + property = '/name', + operator = '=', + values = [ + 'FabricCloudRouter-1' + ], ) + ] + ) + else: + return CloudRouterOrFilter( + ) + """ + + def testCloudRouterOrFilter(self): + """Test CloudRouterOrFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_package.py b/equinix/services/fabricv4/test/test_cloud_router_package.py new file mode 100644 index 00000000..c350706a --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_package.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_package import CloudRouterPackage + +class TestCloudRouterPackage(unittest.TestCase): + """CloudRouterPackage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterPackage: + """Test CloudRouterPackage + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterPackage` + """ + model = CloudRouterPackage() + if include_optional: + return CloudRouterPackage( + href = 'https://api.equinix.com/fabric/v4/routerPackages/LAB', + type = 'ROUTER_PACKAGE', + code = 'LAB', + description = '', + total_ipv4_routes_max = 50, + total_ipv6_routes_max = 50, + static_ipv4_routes_max = 3, + static_ipv6_routes_max = 0, + nacls_max = 2, + nacl_rules_max = 5, + ha_supported = True, + route_filter_supported = True, + nat_type = 'STATIC_NAT', + vc_count_max = 10, + cr_count_max = 3, + vc_bandwidth_max = 50, + change_log = equinix.services.fabricv4.models.package_change_log.PackageChangeLog( + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', ) + ) + else: + return CloudRouterPackage( + ) + """ + + def testCloudRouterPackage(self): + """Test CloudRouterPackage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_package_nat_type.py b/equinix/services/fabricv4/test/test_cloud_router_package_nat_type.py new file mode 100644 index 00000000..8a5eb01c --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_package_nat_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_package_nat_type import CloudRouterPackageNatType + +class TestCloudRouterPackageNatType(unittest.TestCase): + """CloudRouterPackageNatType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterPackageNatType(self): + """Test CloudRouterPackageNatType""" + # inst = CloudRouterPackageNatType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_package_type.py b/equinix/services/fabricv4/test/test_cloud_router_package_type.py new file mode 100644 index 00000000..ca4bafe3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_package_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_package_type import CloudRouterPackageType + +class TestCloudRouterPackageType(unittest.TestCase): + """CloudRouterPackageType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterPackageType(self): + """Test CloudRouterPackageType""" + # inst = CloudRouterPackageType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_post_request.py b/equinix/services/fabricv4/test/test_cloud_router_post_request.py new file mode 100644 index 00000000..34d81946 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_post_request.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_post_request import CloudRouterPostRequest + +class TestCloudRouterPostRequest(unittest.TestCase): + """CloudRouterPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterPostRequest: + """Test CloudRouterPostRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterPostRequest` + """ + model = CloudRouterPostRequest() + if include_optional: + return CloudRouterPostRequest( + type = 'XF_ROUTER', + name = '', + location = equinix.services.fabricv4.models.simplified_location_without_ibx.SimplifiedLocationWithoutIBX( + href = '', + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', ), + package = equinix.services.fabricv4.models.cloud_router_post_request_package.CloudRouterPostRequestPackage( + href = 'https://api.equinix.com/fabric/v4/routerPackages/LAB', + type = 'ROUTER_PACKAGE', + code = 'LAB', ), + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ] + ) + else: + return CloudRouterPostRequest( + ) + """ + + def testCloudRouterPostRequest(self): + """Test CloudRouterPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_post_request_package.py b/equinix/services/fabricv4/test/test_cloud_router_post_request_package.py new file mode 100644 index 00000000..382260eb --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_post_request_package.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_post_request_package import CloudRouterPostRequestPackage + +class TestCloudRouterPostRequestPackage(unittest.TestCase): + """CloudRouterPostRequestPackage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterPostRequestPackage: + """Test CloudRouterPostRequestPackage + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterPostRequestPackage` + """ + model = CloudRouterPostRequestPackage() + if include_optional: + return CloudRouterPostRequestPackage( + href = 'https://api.equinix.com/fabric/v4/routerPackages/LAB', + type = 'ROUTER_PACKAGE', + code = 'LAB' + ) + else: + return CloudRouterPostRequestPackage( + code = 'LAB', + ) + """ + + def testCloudRouterPostRequestPackage(self): + """Test CloudRouterPostRequestPackage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_post_request_package_code.py b/equinix/services/fabricv4/test/test_cloud_router_post_request_package_code.py new file mode 100644 index 00000000..405bb476 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_post_request_package_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_post_request_package_code import CloudRouterPostRequestPackageCode + +class TestCloudRouterPostRequestPackageCode(unittest.TestCase): + """CloudRouterPostRequestPackageCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterPostRequestPackageCode(self): + """Test CloudRouterPostRequestPackageCode""" + # inst = CloudRouterPostRequestPackageCode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_post_request_package_type.py b/equinix/services/fabricv4/test/test_cloud_router_post_request_package_type.py new file mode 100644 index 00000000..d69d32de --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_post_request_package_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_post_request_package_type import CloudRouterPostRequestPackageType + +class TestCloudRouterPostRequestPackageType(unittest.TestCase): + """CloudRouterPostRequestPackageType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterPostRequestPackageType(self): + """Test CloudRouterPostRequestPackageType""" + # inst = CloudRouterPostRequestPackageType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_post_request_type.py b/equinix/services/fabricv4/test/test_cloud_router_post_request_type.py new file mode 100644 index 00000000..82d33fc6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_post_request_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_post_request_type import CloudRouterPostRequestType + +class TestCloudRouterPostRequestType(unittest.TestCase): + """CloudRouterPostRequestType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterPostRequestType(self): + """Test CloudRouterPostRequestType""" + # inst = CloudRouterPostRequestType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_search_request.py b/equinix/services/fabricv4/test/test_cloud_router_search_request.py new file mode 100644 index 00000000..d4b70643 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_search_request.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_search_request import CloudRouterSearchRequest + +class TestCloudRouterSearchRequest(unittest.TestCase): + """CloudRouterSearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterSearchRequest: + """Test CloudRouterSearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterSearchRequest` + """ + model = CloudRouterSearchRequest() + if include_optional: + return CloudRouterSearchRequest( + filter = equinix.services.fabricv4.models.cloud_router_filters.CloudRouterFilters( + and = [ + equinix.services.fabricv4.models.cloud_router_filter.CloudRouterFilter() + ], ), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ), + sort = [ + equinix.services.fabricv4.models.cloud_router_sort_criteria.CloudRouterSortCriteria( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ] + ) + else: + return CloudRouterSearchRequest( + ) + """ + + def testCloudRouterSearchRequest(self): + """Test CloudRouterSearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_simple_expression.py b/equinix/services/fabricv4/test/test_cloud_router_simple_expression.py new file mode 100644 index 00000000..0664595e --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_simple_expression.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_simple_expression import CloudRouterSimpleExpression + +class TestCloudRouterSimpleExpression(unittest.TestCase): + """CloudRouterSimpleExpression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterSimpleExpression: + """Test CloudRouterSimpleExpression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterSimpleExpression` + """ + model = CloudRouterSimpleExpression() + if include_optional: + return CloudRouterSimpleExpression( + var_property = '/name', + operator = '=', + values = [ + 'FabricCloudRouter-1' + ] + ) + else: + return CloudRouterSimpleExpression( + ) + """ + + def testCloudRouterSimpleExpression(self): + """Test CloudRouterSimpleExpression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_sort_by.py b/equinix/services/fabricv4/test/test_cloud_router_sort_by.py new file mode 100644 index 00000000..cb6d62d0 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_sort_by.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_sort_by import CloudRouterSortBy + +class TestCloudRouterSortBy(unittest.TestCase): + """CloudRouterSortBy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterSortBy(self): + """Test CloudRouterSortBy""" + # inst = CloudRouterSortBy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_sort_criteria.py b/equinix/services/fabricv4/test/test_cloud_router_sort_criteria.py new file mode 100644 index 00000000..3f819ff2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_sort_criteria.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_sort_criteria import CloudRouterSortCriteria + +class TestCloudRouterSortCriteria(unittest.TestCase): + """CloudRouterSortCriteria unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CloudRouterSortCriteria: + """Test CloudRouterSortCriteria + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CloudRouterSortCriteria` + """ + model = CloudRouterSortCriteria() + if include_optional: + return CloudRouterSortCriteria( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return CloudRouterSortCriteria( + ) + """ + + def testCloudRouterSortCriteria(self): + """Test CloudRouterSortCriteria""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_router_sort_direction.py b/equinix/services/fabricv4/test/test_cloud_router_sort_direction.py new file mode 100644 index 00000000..82706f4f --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_router_sort_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.cloud_router_sort_direction import CloudRouterSortDirection + +class TestCloudRouterSortDirection(unittest.TestCase): + """CloudRouterSortDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCloudRouterSortDirection(self): + """Test CloudRouterSortDirection""" + # inst = CloudRouterSortDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_cloud_routers_api.py b/equinix/services/fabricv4/test/test_cloud_routers_api.py new file mode 100644 index 00000000..b92b02af --- /dev/null +++ b/equinix/services/fabricv4/test/test_cloud_routers_api.py @@ -0,0 +1,102 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.cloud_routers_api import CloudRoutersApi + + +class TestCloudRoutersApi(unittest.TestCase): + """CloudRoutersApi unit test stubs""" + + def setUp(self) -> None: + self.api = CloudRoutersApi() + + def tearDown(self) -> None: + pass + + def test_create_cloud_router(self) -> None: + """Test case for create_cloud_router + + Create Routers + """ + pass + + def test_create_cloud_router_action(self) -> None: + """Test case for create_cloud_router_action + + Route table actions + """ + pass + + def test_delete_cloud_router_by_uuid(self) -> None: + """Test case for delete_cloud_router_by_uuid + + Delete Routers + """ + pass + + def test_get_cloud_router_actions(self) -> None: + """Test case for get_cloud_router_actions + + Get actions + """ + pass + + def test_get_cloud_router_by_uuid(self) -> None: + """Test case for get_cloud_router_by_uuid + + Get Routers + """ + pass + + def test_get_cloud_router_package_by_code(self) -> None: + """Test case for get_cloud_router_package_by_code + + Get Package Details + """ + pass + + def test_get_cloud_router_packages(self) -> None: + """Test case for get_cloud_router_packages + + List Packages + """ + pass + + def test_search_cloud_router_routes(self) -> None: + """Test case for search_cloud_router_routes + + Search Route Table + """ + pass + + def test_search_cloud_routers(self) -> None: + """Test case for search_cloud_routers + + Search Routers + """ + pass + + def test_update_cloud_router_by_uuid(self) -> None: + """Test case for update_cloud_router_by_uuid + + Update Routers + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_code.py b/equinix/services/fabricv4/test/test_code.py new file mode 100644 index 00000000..b2e1525a --- /dev/null +++ b/equinix/services/fabricv4/test/test_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.code import Code + +class TestCode(unittest.TestCase): + """Code unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCode(self): + """Test Code""" + # inst = Code() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connected_metro.py b/equinix/services/fabricv4/test/test_connected_metro.py new file mode 100644 index 00000000..e64180b0 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connected_metro.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connected_metro import ConnectedMetro + +class TestConnectedMetro(unittest.TestCase): + """ConnectedMetro unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectedMetro: + """Test ConnectedMetro + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectedMetro` + """ + model = ConnectedMetro() + if include_optional: + return ConnectedMetro( + href = '', + code = '', + avg_latency = 1.337, + remote_vc_bandwidth_max = 56 + ) + else: + return ConnectedMetro( + ) + """ + + def testConnectedMetro(self): + """Test ConnectedMetro""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection.py b/equinix/services/fabricv4/test/test_connection.py new file mode 100644 index 00000000..ee69f2b6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection.py @@ -0,0 +1,1038 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection import Connection + +class TestConnection(unittest.TestCase): + """Connection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Connection: + """Test Connection + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Connection` + """ + model = Connection() + if include_optional: + return Connection( + type = 'EVPL_VC', + href = '', + uuid = '', + name = '', + description = '', + state = 'ACTIVE', + change = equinix.services.fabricv4.models.change.Change( + uuid = '', + type = 'CONNECTION_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.connection_change_operation.ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = null, ), ), + operation = equinix.services.fabricv4.models.connection_operation.ConnectionOperation( + provider_status = 'AVAILABLE', + equinix_status = 'REJECTED_ACK', + operational_status = 'UP', + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], + op_status_changed_at = '2020-11-06T07:00Z', ), + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + bandwidth = 0, + geo_scope = 'CANADA', + redundancy = equinix.services.fabricv4.models.connection_redundancy.ConnectionRedundancy( + group = '', + priority = 'PRIMARY', ), + is_remote = True, + direction = 'INTERNAL', + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ) + ) + else: + return Connection( + type = 'EVPL_VC', + name = '', + bandwidth = 0, + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + ) + """ + + def testConnection(self): + """Test Connection""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_acceptance_data.py b/equinix/services/fabricv4/test/test_connection_acceptance_data.py new file mode 100644 index 00000000..c9ee365f --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_acceptance_data.py @@ -0,0 +1,273 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_acceptance_data import ConnectionAcceptanceData + +class TestConnectionAcceptanceData(unittest.TestCase): + """ConnectionAcceptanceData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionAcceptanceData: + """Test ConnectionAcceptanceData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionAcceptanceData` + """ + model = ConnectionAcceptanceData() + if include_optional: + return ConnectionAcceptanceData( + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ) + ) + else: + return ConnectionAcceptanceData( + ) + """ + + def testConnectionAcceptanceData(self): + """Test ConnectionAcceptanceData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_action.py b/equinix/services/fabricv4/test/test_connection_action.py new file mode 100644 index 00000000..55f1e37c --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_action.py @@ -0,0 +1,517 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_action import ConnectionAction + +class TestConnectionAction(unittest.TestCase): + """ConnectionAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionAction: + """Test ConnectionAction + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionAction` + """ + model = ConnectionAction() + if include_optional: + return ConnectionAction( + type = 'CONNECTION_CREATION_ACCEPTANCE', + href = '', + uuid = '', + description = '', + data = equinix.services.fabricv4.models.connection_acceptance_data.ConnectionAcceptanceData( + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return ConnectionAction( + type = 'CONNECTION_CREATION_ACCEPTANCE', + href = '', + uuid = '', + data = equinix.services.fabricv4.models.connection_acceptance_data.ConnectionAcceptanceData( + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), ), + ) + """ + + def testConnectionAction(self): + """Test ConnectionAction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_action_request.py b/equinix/services/fabricv4/test/test_connection_action_request.py new file mode 100644 index 00000000..220f0ffc --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_action_request.py @@ -0,0 +1,277 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_action_request import ConnectionActionRequest + +class TestConnectionActionRequest(unittest.TestCase): + """ConnectionActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionActionRequest: + """Test ConnectionActionRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionActionRequest` + """ + model = ConnectionActionRequest() + if include_optional: + return ConnectionActionRequest( + type = 'CONNECTION_CREATION_ACCEPTANCE', + description = '', + data = equinix.services.fabricv4.models.connection_acceptance_data.ConnectionAcceptanceData( + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), ) + ) + else: + return ConnectionActionRequest( + type = 'CONNECTION_CREATION_ACCEPTANCE', + ) + """ + + def testConnectionActionRequest(self): + """Test ConnectionActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_change_operation.py b/equinix/services/fabricv4/test/test_connection_change_operation.py new file mode 100644 index 00000000..09e35871 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_change_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_change_operation import ConnectionChangeOperation + +class TestConnectionChangeOperation(unittest.TestCase): + """ConnectionChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionChangeOperation: + """Test ConnectionChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionChangeOperation` + """ + model = ConnectionChangeOperation() + if include_optional: + return ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = None + ) + else: + return ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = None, + ) + """ + + def testConnectionChangeOperation(self): + """Test ConnectionChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_company_profile.py b/equinix/services/fabricv4/test/test_connection_company_profile.py new file mode 100644 index 00000000..c1f3bdc1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_company_profile.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_company_profile import ConnectionCompanyProfile + +class TestConnectionCompanyProfile(unittest.TestCase): + """ConnectionCompanyProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionCompanyProfile: + """Test ConnectionCompanyProfile + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionCompanyProfile` + """ + model = ConnectionCompanyProfile() + if include_optional: + return ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '' + ) + else: + return ConnectionCompanyProfile( + ) + """ + + def testConnectionCompanyProfile(self): + """Test ConnectionCompanyProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_direction.py b/equinix/services/fabricv4/test/test_connection_direction.py new file mode 100644 index 00000000..d5deb613 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_direction import ConnectionDirection + +class TestConnectionDirection(unittest.TestCase): + """ConnectionDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionDirection(self): + """Test ConnectionDirection""" + # inst = ConnectionDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_invitation.py b/equinix/services/fabricv4/test/test_connection_invitation.py new file mode 100644 index 00000000..f0536e04 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_invitation.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_invitation import ConnectionInvitation + +class TestConnectionInvitation(unittest.TestCase): + """ConnectionInvitation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionInvitation: + """Test ConnectionInvitation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionInvitation` + """ + model = ConnectionInvitation() + if include_optional: + return ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '' + ) + else: + return ConnectionInvitation( + ) + """ + + def testConnectionInvitation(self): + """Test ConnectionInvitation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_link.py b/equinix/services/fabricv4/test/test_connection_link.py new file mode 100644 index 00000000..8d6254b5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_link.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_link import ConnectionLink + +class TestConnectionLink(unittest.TestCase): + """ConnectionLink unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionLink: + """Test ConnectionLink + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionLink` + """ + model = ConnectionLink() + if include_optional: + return ConnectionLink( + href = 'https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections', + type = 'EVPL_VC', + uuid = '' + ) + else: + return ConnectionLink( + ) + """ + + def testConnectionLink(self): + """Test ConnectionLink""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_link_type.py b/equinix/services/fabricv4/test/test_connection_link_type.py new file mode 100644 index 00000000..db081b43 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_link_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_link_type import ConnectionLinkType + +class TestConnectionLinkType(unittest.TestCase): + """ConnectionLinkType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionLinkType(self): + """Test ConnectionLinkType""" + # inst = ConnectionLinkType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_operation.py b/equinix/services/fabricv4/test/test_connection_operation.py new file mode 100644 index 00000000..6216d44d --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_operation.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_operation import ConnectionOperation + +class TestConnectionOperation(unittest.TestCase): + """ConnectionOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionOperation: + """Test ConnectionOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionOperation` + """ + model = ConnectionOperation() + if include_optional: + return ConnectionOperation( + provider_status = 'AVAILABLE', + equinix_status = 'REJECTED_ACK', + operational_status = 'UP', + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], + op_status_changed_at = '2020-11-06T07:00Z' + ) + else: + return ConnectionOperation( + ) + """ + + def testConnectionOperation(self): + """Test ConnectionOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_operation_operational_status.py b/equinix/services/fabricv4/test/test_connection_operation_operational_status.py new file mode 100644 index 00000000..0cc235e8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_operation_operational_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_operation_operational_status import ConnectionOperationOperationalStatus + +class TestConnectionOperationOperationalStatus(unittest.TestCase): + """ConnectionOperationOperationalStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionOperationOperationalStatus(self): + """Test ConnectionOperationOperationalStatus""" + # inst = ConnectionOperationOperationalStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_post_request.py b/equinix/services/fabricv4/test/test_connection_post_request.py new file mode 100644 index 00000000..543dc598 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_post_request.py @@ -0,0 +1,988 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_post_request import ConnectionPostRequest + +class TestConnectionPostRequest(unittest.TestCase): + """ConnectionPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionPostRequest: + """Test ConnectionPostRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionPostRequest` + """ + model = ConnectionPostRequest() + if include_optional: + return ConnectionPostRequest( + type = 'EVPL_VC', + name = '', + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + bandwidth = 0, + geo_scope = 'CANADA', + redundancy = equinix.services.fabricv4.models.connection_redundancy.ConnectionRedundancy( + group = '', + priority = 'PRIMARY', ), + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ] + ) + else: + return ConnectionPostRequest( + type = 'EVPL_VC', + name = '', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + bandwidth = 0, + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], ), + ) + """ + + def testConnectionPostRequest(self): + """Test ConnectionPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_priority.py b/equinix/services/fabricv4/test/test_connection_priority.py new file mode 100644 index 00000000..c16a9039 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_priority.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_priority import ConnectionPriority + +class TestConnectionPriority(unittest.TestCase): + """ConnectionPriority unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionPriority(self): + """Test ConnectionPriority""" + # inst = ConnectionPriority() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_redundancy.py b/equinix/services/fabricv4/test/test_connection_redundancy.py new file mode 100644 index 00000000..37dc4baf --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_redundancy.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_redundancy import ConnectionRedundancy + +class TestConnectionRedundancy(unittest.TestCase): + """ConnectionRedundancy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionRedundancy: + """Test ConnectionRedundancy + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionRedundancy` + """ + model = ConnectionRedundancy() + if include_optional: + return ConnectionRedundancy( + group = '', + priority = 'PRIMARY' + ) + else: + return ConnectionRedundancy( + ) + """ + + def testConnectionRedundancy(self): + """Test ConnectionRedundancy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_response.py b/equinix/services/fabricv4/test/test_connection_response.py new file mode 100644 index 00000000..a58f80ec --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_response.py @@ -0,0 +1,317 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_response import ConnectionResponse + +class TestConnectionResponse(unittest.TestCase): + """ConnectionResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionResponse: + """Test ConnectionResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionResponse` + """ + model = ConnectionResponse() + if include_optional: + return ConnectionResponse( + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], + data = [ + equinix.services.fabricv4.models.connection.Connection( + type = 'EVPL_VC', + href = '', + uuid = '', + name = '', + description = '', + state = 'ACTIVE', + change = equinix.services.fabricv4.models.change.Change( + uuid = '', + type = 'CONNECTION_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.connection_change_operation.ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = null, ), ), + operation = equinix.services.fabricv4.models.connection_operation.ConnectionOperation( + provider_status = 'AVAILABLE', + equinix_status = 'REJECTED_ACK', + operational_status = 'UP', + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], + op_status_changed_at = '2020-11-06T07:00Z', ), + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + bandwidth = 0, + geo_scope = 'CANADA', + redundancy = equinix.services.fabricv4.models.connection_redundancy.ConnectionRedundancy( + group = '', + priority = 'PRIMARY', ), + is_remote = True, + direction = 'INTERNAL', + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide(), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ) + ] + ) + else: + return ConnectionResponse( + ) + """ + + def testConnectionResponse(self): + """Test ConnectionResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_route_filter_data.py b/equinix/services/fabricv4/test/test_connection_route_filter_data.py new file mode 100644 index 00000000..86d94129 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_route_filter_data.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_route_filter_data import ConnectionRouteFilterData + +class TestConnectionRouteFilterData(unittest.TestCase): + """ConnectionRouteFilterData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionRouteFilterData: + """Test ConnectionRouteFilterData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionRouteFilterData` + """ + model = ConnectionRouteFilterData() + if include_optional: + return ConnectionRouteFilterData( + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + type = 'BGP_IPv4_PREFIX_FILTER', + uuid = '695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + attachment_status = 'ATTACHING', + direction = 'INBOUND' + ) + else: + return ConnectionRouteFilterData( + ) + """ + + def testConnectionRouteFilterData(self): + """Test ConnectionRouteFilterData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_route_filter_data_attachment_status.py b/equinix/services/fabricv4/test/test_connection_route_filter_data_attachment_status.py new file mode 100644 index 00000000..419a7804 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_route_filter_data_attachment_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_route_filter_data_attachment_status import ConnectionRouteFilterDataAttachmentStatus + +class TestConnectionRouteFilterDataAttachmentStatus(unittest.TestCase): + """ConnectionRouteFilterDataAttachmentStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionRouteFilterDataAttachmentStatus(self): + """Test ConnectionRouteFilterDataAttachmentStatus""" + # inst = ConnectionRouteFilterDataAttachmentStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_route_filter_data_direction.py b/equinix/services/fabricv4/test/test_connection_route_filter_data_direction.py new file mode 100644 index 00000000..2cd9babc --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_route_filter_data_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_route_filter_data_direction import ConnectionRouteFilterDataDirection + +class TestConnectionRouteFilterDataDirection(unittest.TestCase): + """ConnectionRouteFilterDataDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionRouteFilterDataDirection(self): + """Test ConnectionRouteFilterDataDirection""" + # inst = ConnectionRouteFilterDataDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_route_filter_data_type.py b/equinix/services/fabricv4/test/test_connection_route_filter_data_type.py new file mode 100644 index 00000000..2bdcda08 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_route_filter_data_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_route_filter_data_type import ConnectionRouteFilterDataType + +class TestConnectionRouteFilterDataType(unittest.TestCase): + """ConnectionRouteFilterDataType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionRouteFilterDataType(self): + """Test ConnectionRouteFilterDataType""" + # inst = ConnectionRouteFilterDataType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_route_filters_base.py b/equinix/services/fabricv4/test/test_connection_route_filters_base.py new file mode 100644 index 00000000..c914c5c5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_route_filters_base.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_route_filters_base import ConnectionRouteFiltersBase + +class TestConnectionRouteFiltersBase(unittest.TestCase): + """ConnectionRouteFiltersBase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionRouteFiltersBase: + """Test ConnectionRouteFiltersBase + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionRouteFiltersBase` + """ + model = ConnectionRouteFiltersBase() + if include_optional: + return ConnectionRouteFiltersBase( + direction = 'INBOUND' + ) + else: + return ConnectionRouteFiltersBase( + direction = 'INBOUND', + ) + """ + + def testConnectionRouteFiltersBase(self): + """Test ConnectionRouteFiltersBase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_route_filters_base_direction.py b/equinix/services/fabricv4/test/test_connection_route_filters_base_direction.py new file mode 100644 index 00000000..1cc4054e --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_route_filters_base_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_route_filters_base_direction import ConnectionRouteFiltersBaseDirection + +class TestConnectionRouteFiltersBaseDirection(unittest.TestCase): + """ConnectionRouteFiltersBaseDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionRouteFiltersBaseDirection(self): + """Test ConnectionRouteFiltersBaseDirection""" + # inst = ConnectionRouteFiltersBaseDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_routing_protocol_post_request.py b/equinix/services/fabricv4/test/test_connection_routing_protocol_post_request.py new file mode 100644 index 00000000..65e2ae85 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_routing_protocol_post_request.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_routing_protocol_post_request import ConnectionRoutingProtocolPostRequest + +class TestConnectionRoutingProtocolPostRequest(unittest.TestCase): + """ConnectionRoutingProtocolPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionRoutingProtocolPostRequest: + """Test ConnectionRoutingProtocolPostRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionRoutingProtocolPostRequest` + """ + model = ConnectionRoutingProtocolPostRequest() + if include_optional: + return ConnectionRoutingProtocolPostRequest( + data = [ + equinix.services.fabricv4.models.routing_protocol_base.RoutingProtocolBase( + type = 'BGP', ) + ] + ) + else: + return ConnectionRoutingProtocolPostRequest( + ) + """ + + def testConnectionRoutingProtocolPostRequest(self): + """Test ConnectionRoutingProtocolPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_search_response.py b/equinix/services/fabricv4/test/test_connection_search_response.py new file mode 100644 index 00000000..81057f52 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_search_response.py @@ -0,0 +1,323 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_search_response import ConnectionSearchResponse + +class TestConnectionSearchResponse(unittest.TestCase): + """ConnectionSearchResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionSearchResponse: + """Test ConnectionSearchResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionSearchResponse` + """ + model = ConnectionSearchResponse() + if include_optional: + return ConnectionSearchResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + sort = [ + equinix.services.fabricv4.models.sort_criteria_response.SortCriteriaResponse( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ], + data = [ + equinix.services.fabricv4.models.connection.Connection( + type = 'EVPL_VC', + href = '', + uuid = '', + name = '', + description = '', + state = 'ACTIVE', + change = equinix.services.fabricv4.models.change.Change( + uuid = '', + type = 'CONNECTION_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.connection_change_operation.ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = null, ), ), + operation = equinix.services.fabricv4.models.connection_operation.ConnectionOperation( + provider_status = 'AVAILABLE', + equinix_status = 'REJECTED_ACK', + operational_status = 'UP', + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], + op_status_changed_at = '2020-11-06T07:00Z', ), + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + bandwidth = 0, + geo_scope = 'CANADA', + redundancy = equinix.services.fabricv4.models.connection_redundancy.ConnectionRedundancy( + group = '', + priority = 'PRIMARY', ), + is_remote = True, + direction = 'INTERNAL', + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide(), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ) + ] + ) + else: + return ConnectionSearchResponse( + ) + """ + + def testConnectionSearchResponse(self): + """Test ConnectionSearchResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_side.py b/equinix/services/fabricv4/test/test_connection_side.py new file mode 100644 index 00000000..5ca901af --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_side.py @@ -0,0 +1,396 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_side import ConnectionSide + +class TestConnectionSide(unittest.TestCase): + """ConnectionSide unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionSide: + """Test ConnectionSide + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionSide` + """ + model = ConnectionSide() + if include_optional: + return ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + type = 'VD', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + port = equinix.services.fabricv4.models.simplified_port.SimplifiedPort( + id = 56, + href = '', + uuid = '', + name = '', + description = '', + physical_ports_speed = 0, + connections_count = 0, + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + state = 'PENDING', + cvp_id = '', + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + service_type = 'EPL', + bandwidth = 0, + available_bandwidth = 0, + used_bandwidth = 0, + device = equinix.services.fabricv4.models.port_device.PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ), ), + interface = equinix.services.fabricv4.models.port_interface.PortInterface( + if_index = '', + name = '', ), + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + redundancy = equinix.services.fabricv4.models.port_redundancy.PortRedundancy( + enabled = True, + group = '', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + tag_protocol_id = '', ), + lag_enabled = True, + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + physical_port_quantity = 56, + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + physical_ports = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + id = 56, + href = '', + interface_speed = 0, + interface_type = '', + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ], ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ), + link_protocol = equinix.services.fabricv4.models.simplified_link_protocol.SimplifiedLinkProtocol( + vlan_tag = 2, + vlan_s_tag = 2, + vlan_c_tag = 2, ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ] + ) + else: + return ConnectionSide( + ) + """ + + def testConnectionSide(self): + """Test ConnectionSide""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_side_additional_info.py b/equinix/services/fabricv4/test/test_connection_side_additional_info.py new file mode 100644 index 00000000..f182e534 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_side_additional_info.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_side_additional_info import ConnectionSideAdditionalInfo + +class TestConnectionSideAdditionalInfo(unittest.TestCase): + """ConnectionSideAdditionalInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectionSideAdditionalInfo: + """Test ConnectionSideAdditionalInfo + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectionSideAdditionalInfo` + """ + model = ConnectionSideAdditionalInfo() + if include_optional: + return ConnectionSideAdditionalInfo( + key = '', + value = '' + ) + else: + return ConnectionSideAdditionalInfo( + ) + """ + + def testConnectionSideAdditionalInfo(self): + """Test ConnectionSideAdditionalInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_state.py b/equinix/services/fabricv4/test/test_connection_state.py new file mode 100644 index 00000000..c94bdfb1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_state import ConnectionState + +class TestConnectionState(unittest.TestCase): + """ConnectionState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionState(self): + """Test ConnectionState""" + # inst = ConnectionState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connection_type.py b/equinix/services/fabricv4/test/test_connection_type.py new file mode 100644 index 00000000..b2930412 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connection_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connection_type import ConnectionType + +class TestConnectionType(unittest.TestCase): + """ConnectionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectionType(self): + """Test ConnectionType""" + # inst = ConnectionType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connections_api.py b/equinix/services/fabricv4/test/test_connections_api.py new file mode 100644 index 00000000..f8f2b807 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connections_api.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.connections_api import ConnectionsApi + + +class TestConnectionsApi(unittest.TestCase): + """ConnectionsApi unit test stubs""" + + def setUp(self) -> None: + self.api = ConnectionsApi() + + def tearDown(self) -> None: + pass + + def test_create_connection(self) -> None: + """Test case for create_connection + + Create Connection + """ + pass + + def test_create_connection_action(self) -> None: + """Test case for create_connection_action + + Connection Actions + """ + pass + + def test_delete_connection_by_uuid(self) -> None: + """Test case for delete_connection_by_uuid + + Delete by ID + """ + pass + + def test_get_connection_by_uuid(self) -> None: + """Test case for get_connection_by_uuid + + Get Connection by ID + """ + pass + + def test_search_connections(self) -> None: + """Test case for search_connections + + Search connections + """ + pass + + def test_update_connection_by_uuid(self) -> None: + """Test case for update_connection_by_uuid + + Update by ID + """ + pass + + def test_validate_connections(self) -> None: + """Test case for validate_connections + + Validate Connection + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connectivity_source.py b/equinix/services/fabricv4/test/test_connectivity_source.py new file mode 100644 index 00000000..ee299d63 --- /dev/null +++ b/equinix/services/fabricv4/test/test_connectivity_source.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connectivity_source import ConnectivitySource + +class TestConnectivitySource(unittest.TestCase): + """ConnectivitySource unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ConnectivitySource: + """Test ConnectivitySource + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ConnectivitySource` + """ + model = ConnectivitySource() + if include_optional: + return ConnectivitySource( + type = 'COLO' + ) + else: + return ConnectivitySource( + ) + """ + + def testConnectivitySource(self): + """Test ConnectivitySource""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_connectivity_source_type.py b/equinix/services/fabricv4/test/test_connectivity_source_type.py new file mode 100644 index 00000000..ecf2705b --- /dev/null +++ b/equinix/services/fabricv4/test/test_connectivity_source_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.connectivity_source_type import ConnectivitySourceType + +class TestConnectivitySourceType(unittest.TestCase): + """ConnectivitySourceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testConnectivitySourceType(self): + """Test ConnectivitySourceType""" + # inst = ConnectivitySourceType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_custom_field.py b/equinix/services/fabricv4/test/test_custom_field.py new file mode 100644 index 00000000..8552e3d1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_custom_field.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.custom_field import CustomField + +class TestCustomField(unittest.TestCase): + """CustomField unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> CustomField: + """Test CustomField + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `CustomField` + """ + model = CustomField() + if include_optional: + return CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True + ) + else: + return CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + data_type = 'STRING', + ) + """ + + def testCustomField(self): + """Test CustomField""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_custom_field_data_type.py b/equinix/services/fabricv4/test/test_custom_field_data_type.py new file mode 100644 index 00000000..e26de7c0 --- /dev/null +++ b/equinix/services/fabricv4/test/test_custom_field_data_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.custom_field_data_type import CustomFieldDataType + +class TestCustomFieldDataType(unittest.TestCase): + """CustomFieldDataType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testCustomFieldDataType(self): + """Test CustomFieldDataType""" + # inst = CustomFieldDataType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_direct_connection_ipv4.py b/equinix/services/fabricv4/test/test_direct_connection_ipv4.py new file mode 100644 index 00000000..c33de0ac --- /dev/null +++ b/equinix/services/fabricv4/test/test_direct_connection_ipv4.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.direct_connection_ipv4 import DirectConnectionIpv4 + +class TestDirectConnectionIpv4(unittest.TestCase): + """DirectConnectionIpv4 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectConnectionIpv4: + """Test DirectConnectionIpv4 + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectConnectionIpv4` + """ + model = DirectConnectionIpv4() + if include_optional: + return DirectConnectionIpv4( + equinix_iface_ip = '192.168.100.0/30' + ) + else: + return DirectConnectionIpv4( + ) + """ + + def testDirectConnectionIpv4(self): + """Test DirectConnectionIpv4""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_direct_connection_ipv6.py b/equinix/services/fabricv4/test/test_direct_connection_ipv6.py new file mode 100644 index 00000000..05dd1df2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_direct_connection_ipv6.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.direct_connection_ipv6 import DirectConnectionIpv6 + +class TestDirectConnectionIpv6(unittest.TestCase): + """DirectConnectionIpv6 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> DirectConnectionIpv6: + """Test DirectConnectionIpv6 + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `DirectConnectionIpv6` + """ + model = DirectConnectionIpv6() + if include_optional: + return DirectConnectionIpv6( + equinix_iface_ip = '2001:db8:c59b::/1' + ) + else: + return DirectConnectionIpv6( + equinix_iface_ip = '2001:db8:c59b::/1', + ) + """ + + def testDirectConnectionIpv6(self): + """Test DirectConnectionIpv6""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_direction.py b/equinix/services/fabricv4/test/test_direction.py new file mode 100644 index 00000000..9bb602fa --- /dev/null +++ b/equinix/services/fabricv4/test/test_direction.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.direction import Direction + +class TestDirection(unittest.TestCase): + """Direction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Direction: + """Test Direction + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Direction` + """ + model = Direction() + if include_optional: + return Direction( + max = 1.337, + mean = 1.337, + metrics = [ + equinix.services.fabricv4.models.metrics.Metrics( + interval_end_timestamp = '2020-11-06T07:00Z', + max = 1.337, + mean = 1.337, ) + ] + ) + else: + return Direction( + ) + """ + + def testDirection(self): + """Test Direction""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_duration.py b/equinix/services/fabricv4/test/test_duration.py new file mode 100644 index 00000000..18efc69e --- /dev/null +++ b/equinix/services/fabricv4/test/test_duration.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.duration import Duration + +class TestDuration(unittest.TestCase): + """Duration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testDuration(self): + """Test Duration""" + # inst = Duration() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_equinix_status.py b/equinix/services/fabricv4/test/test_equinix_status.py new file mode 100644 index 00000000..ebe40532 --- /dev/null +++ b/equinix/services/fabricv4/test/test_equinix_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.equinix_status import EquinixStatus + +class TestEquinixStatus(unittest.TestCase): + """EquinixStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testEquinixStatus(self): + """Test EquinixStatus""" + # inst = EquinixStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_error.py b/equinix/services/fabricv4/test/test_error.py new file mode 100644 index 00000000..d9fb86d5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_error.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.error import Error + +class TestError(unittest.TestCase): + """Error unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Error: + """Test Error + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Error` + """ + model = Error() + if include_optional: + return Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ] + ) + else: + return Error( + error_code = 'EQ-0480728', + error_message = '', + ) + """ + + def testError(self): + """Test Error""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_expression.py b/equinix/services/fabricv4/test/test_expression.py new file mode 100644 index 00000000..05afe4a2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_expression.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.expression import Expression + +class TestExpression(unittest.TestCase): + """Expression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Expression: + """Test Expression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Expression` + """ + model = Expression() + if include_optional: + return Expression( + var_and = [ + equinix.services.fabricv4.models.expression.Expression( + and = [ + equinix.services.fabricv4.models.expression.Expression( + and = , + or = , + property = '/isRemote', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '/isRemote', + operator = '=', + values = [ + '' + ], ) + ], + var_or = [ + equinix.services.fabricv4.models.expression.Expression( + and = [ + equinix.services.fabricv4.models.expression.Expression( + and = , + or = , + property = '/isRemote', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '/isRemote', + operator = '=', + values = [ + '' + ], ) + ], + var_property = '/isRemote', + operator = '=', + values = [ + '' + ] + ) + else: + return Expression( + ) + """ + + def testExpression(self): + """Test Expression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_expression_operator.py b/equinix/services/fabricv4/test/test_expression_operator.py new file mode 100644 index 00000000..f0e3c046 --- /dev/null +++ b/equinix/services/fabricv4/test/test_expression_operator.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.expression_operator import ExpressionOperator + +class TestExpressionOperator(unittest.TestCase): + """ExpressionOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testExpressionOperator(self): + """Test ExpressionOperator""" + # inst = ExpressionOperator() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_fabric_cloud_router_code.py b/equinix/services/fabricv4/test/test_fabric_cloud_router_code.py new file mode 100644 index 00000000..ed7dfeb9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_fabric_cloud_router_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.fabric_cloud_router_code import FabricCloudRouterCode + +class TestFabricCloudRouterCode(unittest.TestCase): + """FabricCloudRouterCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testFabricCloudRouterCode(self): + """Test FabricCloudRouterCode""" + # inst = FabricCloudRouterCode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_fabric_cloud_router_packages.py b/equinix/services/fabricv4/test/test_fabric_cloud_router_packages.py new file mode 100644 index 00000000..75bb0280 --- /dev/null +++ b/equinix/services/fabricv4/test/test_fabric_cloud_router_packages.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.fabric_cloud_router_packages import FabricCloudRouterPackages + +class TestFabricCloudRouterPackages(unittest.TestCase): + """FabricCloudRouterPackages unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FabricCloudRouterPackages: + """Test FabricCloudRouterPackages + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FabricCloudRouterPackages` + """ + model = FabricCloudRouterPackages() + if include_optional: + return FabricCloudRouterPackages( + code = 'LAB' + ) + else: + return FabricCloudRouterPackages( + ) + """ + + def testFabricCloudRouterPackages(self): + """Test FabricCloudRouterPackages""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_fabric_cloud_router_price.py b/equinix/services/fabricv4/test/test_fabric_cloud_router_price.py new file mode 100644 index 00000000..c72d2ec8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_fabric_cloud_router_price.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.fabric_cloud_router_price import FabricCloudRouterPrice + +class TestFabricCloudRouterPrice(unittest.TestCase): + """FabricCloudRouterPrice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FabricCloudRouterPrice: + """Test FabricCloudRouterPrice + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FabricCloudRouterPrice` + """ + model = FabricCloudRouterPrice() + if include_optional: + return FabricCloudRouterPrice( + uuid = '', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + package = equinix.services.fabricv4.models.fabric_cloud_router_packages.FabricCloudRouterPackages( + code = 'LAB', ) + ) + else: + return FabricCloudRouterPrice( + ) + """ + + def testFabricCloudRouterPrice(self): + """Test FabricCloudRouterPrice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_fabric_connection_uuid.py b/equinix/services/fabricv4/test/test_fabric_connection_uuid.py new file mode 100644 index 00000000..1217f15d --- /dev/null +++ b/equinix/services/fabricv4/test/test_fabric_connection_uuid.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.fabric_connection_uuid import FabricConnectionUuid + +class TestFabricConnectionUuid(unittest.TestCase): + """FabricConnectionUuid unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FabricConnectionUuid: + """Test FabricConnectionUuid + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FabricConnectionUuid` + """ + model = FabricConnectionUuid() + if include_optional: + return FabricConnectionUuid( + uuid = '', + href = '', + type = '' + ) + else: + return FabricConnectionUuid( + uuid = '', + ) + """ + + def testFabricConnectionUuid(self): + """Test FabricConnectionUuid""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_filter_body.py b/equinix/services/fabricv4/test/test_filter_body.py new file mode 100644 index 00000000..b1349982 --- /dev/null +++ b/equinix/services/fabricv4/test/test_filter_body.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.filter_body import FilterBody + +class TestFilterBody(unittest.TestCase): + """FilterBody unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> FilterBody: + """Test FilterBody + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `FilterBody` + """ + model = FilterBody() + if include_optional: + return FilterBody( + filter = equinix.services.fabricv4.models.search_expression.SearchExpression( + and = [ + equinix.services.fabricv4.models.search_expression.SearchExpression( + or = [ + + ], + property = '', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '', + operator = '=', + values = [ + '' + ], ) + ) + else: + return FilterBody( + ) + """ + + def testFilterBody(self): + """Test FilterBody""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_geo_coordinates.py b/equinix/services/fabricv4/test/test_geo_coordinates.py new file mode 100644 index 00000000..525dfe6a --- /dev/null +++ b/equinix/services/fabricv4/test/test_geo_coordinates.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.geo_coordinates import GeoCoordinates + +class TestGeoCoordinates(unittest.TestCase): + """GeoCoordinates unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GeoCoordinates: + """Test GeoCoordinates + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GeoCoordinates` + """ + model = GeoCoordinates() + if include_optional: + return GeoCoordinates( + latitude = 1.337, + longitude = 1.337 + ) + else: + return GeoCoordinates( + ) + """ + + def testGeoCoordinates(self): + """Test GeoCoordinates""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_geo_scope_type.py b/equinix/services/fabricv4/test/test_geo_scope_type.py new file mode 100644 index 00000000..f23a776e --- /dev/null +++ b/equinix/services/fabricv4/test/test_geo_scope_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.geo_scope_type import GeoScopeType + +class TestGeoScopeType(unittest.TestCase): + """GeoScopeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGeoScopeType(self): + """Test GeoScopeType""" + # inst = GeoScopeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_get_all_connection_route_filters_response.py b/equinix/services/fabricv4/test/test_get_all_connection_route_filters_response.py new file mode 100644 index 00000000..f1d668bd --- /dev/null +++ b/equinix/services/fabricv4/test/test_get_all_connection_route_filters_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.get_all_connection_route_filters_response import GetAllConnectionRouteFiltersResponse + +class TestGetAllConnectionRouteFiltersResponse(unittest.TestCase): + """GetAllConnectionRouteFiltersResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetAllConnectionRouteFiltersResponse: + """Test GetAllConnectionRouteFiltersResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetAllConnectionRouteFiltersResponse` + """ + model = GetAllConnectionRouteFiltersResponse() + if include_optional: + return GetAllConnectionRouteFiltersResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.connection_route_filter_data.ConnectionRouteFilterData( + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + type = 'BGP_IPv4_PREFIX_FILTER', + uuid = '695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + attachment_status = 'ATTACHING', + direction = 'INBOUND', ) + ] + ) + else: + return GetAllConnectionRouteFiltersResponse( + ) + """ + + def testGetAllConnectionRouteFiltersResponse(self): + """Test GetAllConnectionRouteFiltersResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_get_response.py b/equinix/services/fabricv4/test/test_get_response.py new file mode 100644 index 00000000..ba8f04b8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_get_response.py @@ -0,0 +1,61 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.get_response import GetResponse + +class TestGetResponse(unittest.TestCase): + """GetResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetResponse: + """Test GetResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetResponse` + """ + model = GetResponse() + if include_optional: + return GetResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.routing_protocol_data.RoutingProtocolData( + type = 'BGP', ) + ] + ) + else: + return GetResponse( + ) + """ + + def testGetResponse(self): + """Test GetResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_get_route_filter_get_connections_response.py b/equinix/services/fabricv4/test/test_get_route_filter_get_connections_response.py new file mode 100644 index 00000000..d00b2bec --- /dev/null +++ b/equinix/services/fabricv4/test/test_get_route_filter_get_connections_response.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.get_route_filter_get_connections_response import GetRouteFilterGetConnectionsResponse + +class TestGetRouteFilterGetConnectionsResponse(unittest.TestCase): + """GetRouteFilterGetConnectionsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRouteFilterGetConnectionsResponse: + """Test GetRouteFilterGetConnectionsResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRouteFilterGetConnectionsResponse` + """ + model = GetRouteFilterGetConnectionsResponse() + if include_optional: + return GetRouteFilterGetConnectionsResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.route_filter_connections_data.RouteFilterConnectionsData( + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f', + type = 'EVPL_VC', + uuid = '695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + name = 'connection-1', ) + ] + ) + else: + return GetRouteFilterGetConnectionsResponse( + ) + """ + + def testGetRouteFilterGetConnectionsResponse(self): + """Test GetRouteFilterGetConnectionsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_get_route_filter_rules_response.py b/equinix/services/fabricv4/test/test_get_route_filter_rules_response.py new file mode 100644 index 00000000..f44b7e2a --- /dev/null +++ b/equinix/services/fabricv4/test/test_get_route_filter_rules_response.py @@ -0,0 +1,86 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.get_route_filter_rules_response import GetRouteFilterRulesResponse + +class TestGetRouteFilterRulesResponse(unittest.TestCase): + """GetRouteFilterRulesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> GetRouteFilterRulesResponse: + """Test GetRouteFilterRulesResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `GetRouteFilterRulesResponse` + """ + model = GetRouteFilterRulesResponse() + if include_optional: + return GetRouteFilterRulesResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.route_filter_rules_data.RouteFilterRulesData( + href = 'https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b', + type = 'BGP_IPv4_PREFIX_FILTER_RULE', + uuid = '65b025ef-022b-4180-85cf-82cfc1ab655b', + name = 'Private-subnet-filter-2', + description = '', + state = 'PROVISIONING', + prefix_match = 'orlonger', + change = equinix.services.fabricv4.models.route_filter_rules_change.RouteFilterRulesChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE', + href = '', ), + action = 'PERMIT', + prefix = '192.168.0.0/24', + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), ) + ] + ) + else: + return GetRouteFilterRulesResponse( + ) + """ + + def testGetRouteFilterRulesResponse(self): + """Test GetRouteFilterRulesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_get_service_profiles_view_point_parameter.py b/equinix/services/fabricv4/test/test_get_service_profiles_view_point_parameter.py new file mode 100644 index 00000000..8e62543e --- /dev/null +++ b/equinix/services/fabricv4/test/test_get_service_profiles_view_point_parameter.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.get_service_profiles_view_point_parameter import GetServiceProfilesViewPointParameter + +class TestGetServiceProfilesViewPointParameter(unittest.TestCase): + """GetServiceProfilesViewPointParameter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGetServiceProfilesViewPointParameter(self): + """Test GetServiceProfilesViewPointParameter""" + # inst = GetServiceProfilesViewPointParameter() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_get_time_services_package_by_code_package_code_parameter.py b/equinix/services/fabricv4/test/test_get_time_services_package_by_code_package_code_parameter.py new file mode 100644 index 00000000..b866e353 --- /dev/null +++ b/equinix/services/fabricv4/test/test_get_time_services_package_by_code_package_code_parameter.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.get_time_services_package_by_code_package_code_parameter import GetTimeServicesPackageByCodePackageCodeParameter + +class TestGetTimeServicesPackageByCodePackageCodeParameter(unittest.TestCase): + """GetTimeServicesPackageByCodePackageCodeParameter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testGetTimeServicesPackageByCodePackageCodeParameter(self): + """Test GetTimeServicesPackageByCodePackageCodeParameter""" + # inst = GetTimeServicesPackageByCodePackageCodeParameter() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_health_api.py b/equinix/services/fabricv4/test/test_health_api.py new file mode 100644 index 00000000..373a00ac --- /dev/null +++ b/equinix/services/fabricv4/test/test_health_api.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.health_api import HealthApi + + +class TestHealthApi(unittest.TestCase): + """HealthApi unit test stubs""" + + def setUp(self) -> None: + self.api = HealthApi() + + def tearDown(self) -> None: + pass + + def test_get_status(self) -> None: + """Test case for get_status + + Get service status + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_health_response.py b/equinix/services/fabricv4/test/test_health_response.py new file mode 100644 index 00000000..c4662169 --- /dev/null +++ b/equinix/services/fabricv4/test/test_health_response.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.health_response import HealthResponse + +class TestHealthResponse(unittest.TestCase): + """HealthResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> HealthResponse: + """Test HealthResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `HealthResponse` + """ + model = HealthResponse() + if include_optional: + return HealthResponse( + href = '', + version = '', + release = '', + state = '', + api_services = equinix.services.fabricv4.models.api_services.ApiServices( + route = '', + status = '', + changed_date_time = '', ) + ) + else: + return HealthResponse( + ) + """ + + def testHealthResponse(self): + """Test HealthResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_interface.py b/equinix/services/fabricv4/test/test_interface.py new file mode 100644 index 00000000..b6ee0b76 --- /dev/null +++ b/equinix/services/fabricv4/test/test_interface.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.interface import Interface + +class TestInterface(unittest.TestCase): + """Interface unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Interface: + """Test Interface + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Interface` + """ + model = Interface() + if include_optional: + return Interface( + href = '', + uuid = '', + id = 56, + type = 'CLOUD', + project_id = '' + ) + else: + return Interface( + ) + """ + + def testInterface(self): + """Test Interface""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_interface_type.py b/equinix/services/fabricv4/test/test_interface_type.py new file mode 100644 index 00000000..072775a1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_interface_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.interface_type import InterfaceType + +class TestInterfaceType(unittest.TestCase): + """InterfaceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testInterfaceType(self): + """Test InterfaceType""" + # inst = InterfaceType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_internet_access.py b/equinix/services/fabricv4/test/test_internet_access.py new file mode 100644 index 00000000..8363eb76 --- /dev/null +++ b/equinix/services/fabricv4/test/test_internet_access.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.internet_access import InternetAccess + +class TestInternetAccess(unittest.TestCase): + """InternetAccess unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> InternetAccess: + """Test InternetAccess + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `InternetAccess` + """ + model = InternetAccess() + if include_optional: + return InternetAccess( + uuid = '' + ) + else: + return InternetAccess( + ) + """ + + def testInternetAccess(self): + """Test InternetAccess""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ip_block_price.py b/equinix/services/fabricv4/test/test_ip_block_price.py new file mode 100644 index 00000000..3ae16b2b --- /dev/null +++ b/equinix/services/fabricv4/test/test_ip_block_price.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.ip_block_price import IpBlockPrice + +class TestIpBlockPrice(unittest.TestCase): + """IpBlockPrice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> IpBlockPrice: + """Test IpBlockPrice + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `IpBlockPrice` + """ + model = IpBlockPrice() + if include_optional: + return IpBlockPrice( + uuid = '', + type = 'IPv4', + prefix_length = 56, + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ) + ) + else: + return IpBlockPrice( + ) + """ + + def testIpBlockPrice(self): + """Test IpBlockPrice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ip_block_type.py b/equinix/services/fabricv4/test/test_ip_block_type.py new file mode 100644 index 00000000..ec700c31 --- /dev/null +++ b/equinix/services/fabricv4/test/test_ip_block_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.ip_block_type import IpBlockType + +class TestIpBlockType(unittest.TestCase): + """IpBlockType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testIpBlockType(self): + """Test IpBlockType""" + # inst = IpBlockType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ipv4.py b/equinix/services/fabricv4/test/test_ipv4.py new file mode 100644 index 00000000..85f89ab3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_ipv4.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.ipv4 import Ipv4 + +class TestIpv4(unittest.TestCase): + """Ipv4 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Ipv4: + """Test Ipv4 + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Ipv4` + """ + model = Ipv4() + if include_optional: + return Ipv4( + primary = '', + secondary = '', + network_mask = '', + default_gateway = '' + ) + else: + return Ipv4( + ) + """ + + def testIpv4(self): + """Test Ipv4""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_json_patch_operation.py b/equinix/services/fabricv4/test/test_json_patch_operation.py new file mode 100644 index 00000000..c9d5aecc --- /dev/null +++ b/equinix/services/fabricv4/test/test_json_patch_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.json_patch_operation import JsonPatchOperation + +class TestJsonPatchOperation(unittest.TestCase): + """JsonPatchOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> JsonPatchOperation: + """Test JsonPatchOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `JsonPatchOperation` + """ + model = JsonPatchOperation() + if include_optional: + return JsonPatchOperation( + op = 'add', + path = '', + value = equinix.services.fabricv4.models.value.value() + ) + else: + return JsonPatchOperation( + op = 'add', + path = '', + value = equinix.services.fabricv4.models.value.value(), + ) + """ + + def testJsonPatchOperation(self): + """Test JsonPatchOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link.py b/equinix/services/fabricv4/test/test_link.py new file mode 100644 index 00000000..baad9c59 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link import Link + +class TestLink(unittest.TestCase): + """Link unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Link: + """Test Link + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Link` + """ + model = Link() + if include_optional: + return Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True + ) + else: + return Link( + ) + """ + + def testLink(self): + """Test Link""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_aggregation_group.py b/equinix/services/fabricv4/test/test_link_aggregation_group.py new file mode 100644 index 00000000..91edf12c --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_aggregation_group.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_aggregation_group import LinkAggregationGroup + +class TestLinkAggregationGroup(unittest.TestCase): + """LinkAggregationGroup unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkAggregationGroup: + """Test LinkAggregationGroup + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkAggregationGroup` + """ + model = LinkAggregationGroup() + if include_optional: + return LinkAggregationGroup( + enabled = True + ) + else: + return LinkAggregationGroup( + ) + """ + + def testLinkAggregationGroup(self): + """Test LinkAggregationGroup""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol.py b/equinix/services/fabricv4/test/test_link_protocol.py new file mode 100644 index 00000000..e5fb6a70 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol.py @@ -0,0 +1,83 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol import LinkProtocol + +class TestLinkProtocol(unittest.TestCase): + """LinkProtocol unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocol: + """Test LinkProtocol + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocol` + """ + model = LinkProtocol() + if include_optional: + return LinkProtocol( + type = 'UNTAGGED', + ipv4 = equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config.LinkProtocolIpv4Ipv6Config( + link_prefix = '', + local_iface_ip = '', + remote_iface_ip = '', ), + ipv6 = equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config.LinkProtocolIpv4Ipv6Config( + link_prefix = '', + local_iface_ip = '', + remote_iface_ip = '', ), + tag_protocol_id = '', + vlan_tag = '', + vlan_tag_min = 56, + vlan_tag_max = 56, + inner_tag_protocol_id = 56, + outer_tag_protocol_id = 56, + vlan_c_tag = 56, + vlan_s_tag = 56, + vlan_c_tag_min = 56, + vlan_c_tag_max = 56, + sub_interface = 56, + vni = 4097, + vnid = 20001, + type5vni = 56 + ) + else: + return LinkProtocol( + type = 'UNTAGGED', + vlan_tag = '', + inner_tag_protocol_id = 56, + outer_tag_protocol_id = 56, + vlan_c_tag = 56, + vlan_s_tag = 56, + vni = 4097, + vnid = 20001, + type5vni = 56, + ) + """ + + def testLinkProtocol(self): + """Test LinkProtocol""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_connection.py b/equinix/services/fabricv4/test/test_link_protocol_connection.py new file mode 100644 index 00000000..dcb69d55 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_connection.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_connection import LinkProtocolConnection + +class TestLinkProtocolConnection(unittest.TestCase): + """LinkProtocolConnection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolConnection: + """Test LinkProtocolConnection + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolConnection` + """ + model = LinkProtocolConnection() + if include_optional: + return LinkProtocolConnection( + href = '', + uuid = 'cd67f685-41b0-1b07-6de0-320a5c00abe', + type = 'EVPL_VC', + bandwidth = 100 + ) + else: + return LinkProtocolConnection( + ) + """ + + def testLinkProtocolConnection(self): + """Test LinkProtocolConnection""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_dot1q.py b/equinix/services/fabricv4/test/test_link_protocol_dot1q.py new file mode 100644 index 00000000..93080e06 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_dot1q.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_dot1q import LinkProtocolDot1q + +class TestLinkProtocolDot1q(unittest.TestCase): + """LinkProtocolDot1q unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolDot1q: + """Test LinkProtocolDot1q + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolDot1q` + """ + model = LinkProtocolDot1q() + if include_optional: + return LinkProtocolDot1q( + type = 'UNTAGGED', + tag_protocol_id = '', + vlan_tag = '', + vlan_tag_min = 56, + vlan_tag_max = 56 + ) + else: + return LinkProtocolDot1q( + vlan_tag = '', + ) + """ + + def testLinkProtocolDot1q(self): + """Test LinkProtocolDot1q""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_evpn_vxlan.py b/equinix/services/fabricv4/test/test_link_protocol_evpn_vxlan.py new file mode 100644 index 00000000..835eabdd --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_evpn_vxlan.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_evpn_vxlan import LinkProtocolEvpnVxlan + +class TestLinkProtocolEvpnVxlan(unittest.TestCase): + """LinkProtocolEvpnVxlan unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolEvpnVxlan: + """Test LinkProtocolEvpnVxlan + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolEvpnVxlan` + """ + model = LinkProtocolEvpnVxlan() + if include_optional: + return LinkProtocolEvpnVxlan( + type = 'UNTAGGED', + vnid = 20001, + type5vni = 56 + ) + else: + return LinkProtocolEvpnVxlan( + vnid = 20001, + type5vni = 56, + ) + """ + + def testLinkProtocolEvpnVxlan(self): + """Test LinkProtocolEvpnVxlan""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_get_response.py b/equinix/services/fabricv4/test/test_link_protocol_get_response.py new file mode 100644 index 00000000..9a7f5a42 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_get_response.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_get_response import LinkProtocolGetResponse + +class TestLinkProtocolGetResponse(unittest.TestCase): + """LinkProtocolGetResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolGetResponse: + """Test LinkProtocolGetResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolGetResponse` + """ + model = LinkProtocolGetResponse() + if include_optional: + return LinkProtocolGetResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.link_protocol_response.LinkProtocolResponse( + href = '', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + state = 'RESERVED', + type = 'UNTAGGED', + vlan_tag = 20, + vni = 20, + vlan_tag_min = 20, + vlan_tag_max = 200, + vlan_s_tag = 20, + vlan_c_tag = 20, + vlan_c_tag_min = 20, + vlan_c_tag_max = 200, + sub_interface = equinix.services.fabricv4.models.sub_interface.SubInterface( + name = '', + unit = 200, ), + asset = equinix.services.fabricv4.models.link_protocol_connection.LinkProtocolConnection( + href = '', + uuid = 'cd67f685-41b0-1b07-6de0-320a5c00abe', + bandwidth = 100, ), + service_token = equinix.services.fabricv4.models.link_protocol_service_token.LinkProtocolServiceToken( + href = '', + uuid = 'cd67f685-41b0-1b07-6de0-0320a5c00abe', + bandwidth = 1000, ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), ) + ] + ) + else: + return LinkProtocolGetResponse( + ) + """ + + def testLinkProtocolGetResponse(self): + """Test LinkProtocolGetResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_ipv4_ipv6_config.py b/equinix/services/fabricv4/test/test_link_protocol_ipv4_ipv6_config.py new file mode 100644 index 00000000..7dbc721b --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_ipv4_ipv6_config.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config import LinkProtocolIpv4Ipv6Config + +class TestLinkProtocolIpv4Ipv6Config(unittest.TestCase): + """LinkProtocolIpv4Ipv6Config unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolIpv4Ipv6Config: + """Test LinkProtocolIpv4Ipv6Config + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolIpv4Ipv6Config` + """ + model = LinkProtocolIpv4Ipv6Config() + if include_optional: + return LinkProtocolIpv4Ipv6Config( + link_prefix = '', + local_iface_ip = '', + remote_iface_ip = '' + ) + else: + return LinkProtocolIpv4Ipv6Config( + ) + """ + + def testLinkProtocolIpv4Ipv6Config(self): + """Test LinkProtocolIpv4Ipv6Config""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_qinq.py b/equinix/services/fabricv4/test/test_link_protocol_qinq.py new file mode 100644 index 00000000..b94e31b6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_qinq.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_qinq import LinkProtocolQinq + +class TestLinkProtocolQinq(unittest.TestCase): + """LinkProtocolQinq unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolQinq: + """Test LinkProtocolQinq + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolQinq` + """ + model = LinkProtocolQinq() + if include_optional: + return LinkProtocolQinq( + type = 'UNTAGGED', + inner_tag_protocol_id = 56, + outer_tag_protocol_id = 56, + vlan_c_tag = 56, + vlan_s_tag = 56, + vlan_c_tag_min = 56, + vlan_c_tag_max = 56, + sub_interface = 56 + ) + else: + return LinkProtocolQinq( + inner_tag_protocol_id = 56, + outer_tag_protocol_id = 56, + vlan_c_tag = 56, + vlan_s_tag = 56, + ) + """ + + def testLinkProtocolQinq(self): + """Test LinkProtocolQinq""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_request_type.py b/equinix/services/fabricv4/test/test_link_protocol_request_type.py new file mode 100644 index 00000000..2ee31ec8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_request_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_request_type import LinkProtocolRequestType + +class TestLinkProtocolRequestType(unittest.TestCase): + """LinkProtocolRequestType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testLinkProtocolRequestType(self): + """Test LinkProtocolRequestType""" + # inst = LinkProtocolRequestType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_response.py b/equinix/services/fabricv4/test/test_link_protocol_response.py new file mode 100644 index 00000000..db924794 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_response import LinkProtocolResponse + +class TestLinkProtocolResponse(unittest.TestCase): + """LinkProtocolResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolResponse: + """Test LinkProtocolResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolResponse` + """ + model = LinkProtocolResponse() + if include_optional: + return LinkProtocolResponse( + href = '', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + state = 'RESERVED', + type = 'UNTAGGED', + vlan_tag = 20, + vni = 20, + vlan_tag_min = 20, + vlan_tag_max = 200, + vlan_s_tag = 20, + vlan_c_tag = 20, + vlan_c_tag_min = 20, + vlan_c_tag_max = 200, + sub_interface = equinix.services.fabricv4.models.sub_interface.SubInterface( + name = '', + unit = 200, ), + asset = equinix.services.fabricv4.models.link_protocol_connection.LinkProtocolConnection( + href = '', + uuid = 'cd67f685-41b0-1b07-6de0-320a5c00abe', + type = 'EVPL_VC', + bandwidth = 100, ), + service_token = equinix.services.fabricv4.models.link_protocol_service_token.LinkProtocolServiceToken( + href = '', + uuid = 'cd67f685-41b0-1b07-6de0-0320a5c00abe', + type = 'TOKEN', + bandwidth = 1000, ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return LinkProtocolResponse( + ) + """ + + def testLinkProtocolResponse(self): + """Test LinkProtocolResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_service_token.py b/equinix/services/fabricv4/test/test_link_protocol_service_token.py new file mode 100644 index 00000000..55a71ec1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_service_token.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_service_token import LinkProtocolServiceToken + +class TestLinkProtocolServiceToken(unittest.TestCase): + """LinkProtocolServiceToken unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolServiceToken: + """Test LinkProtocolServiceToken + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolServiceToken` + """ + model = LinkProtocolServiceToken() + if include_optional: + return LinkProtocolServiceToken( + href = '', + uuid = 'cd67f685-41b0-1b07-6de0-0320a5c00abe', + type = 'TOKEN', + bandwidth = 1000 + ) + else: + return LinkProtocolServiceToken( + ) + """ + + def testLinkProtocolServiceToken(self): + """Test LinkProtocolServiceToken""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_state.py b/equinix/services/fabricv4/test/test_link_protocol_state.py new file mode 100644 index 00000000..ed76e386 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_state import LinkProtocolState + +class TestLinkProtocolState(unittest.TestCase): + """LinkProtocolState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testLinkProtocolState(self): + """Test LinkProtocolState""" + # inst = LinkProtocolState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_type.py b/equinix/services/fabricv4/test/test_link_protocol_type.py new file mode 100644 index 00000000..a5427a04 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_type import LinkProtocolType + +class TestLinkProtocolType(unittest.TestCase): + """LinkProtocolType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testLinkProtocolType(self): + """Test LinkProtocolType""" + # inst = LinkProtocolType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_untagged.py b/equinix/services/fabricv4/test/test_link_protocol_untagged.py new file mode 100644 index 00000000..8e113108 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_untagged.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_untagged import LinkProtocolUntagged + +class TestLinkProtocolUntagged(unittest.TestCase): + """LinkProtocolUntagged unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolUntagged: + """Test LinkProtocolUntagged + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolUntagged` + """ + model = LinkProtocolUntagged() + if include_optional: + return LinkProtocolUntagged( + type = 'UNTAGGED', + ipv4 = equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config.LinkProtocolIpv4Ipv6Config( + link_prefix = '', + local_iface_ip = '', + remote_iface_ip = '', ), + ipv6 = equinix.services.fabricv4.models.link_protocol_ipv4_ipv6_config.LinkProtocolIpv4Ipv6Config( + link_prefix = '', + local_iface_ip = '', + remote_iface_ip = '', ) + ) + else: + return LinkProtocolUntagged( + ) + """ + + def testLinkProtocolUntagged(self): + """Test LinkProtocolUntagged""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_link_protocol_vxlan.py b/equinix/services/fabricv4/test/test_link_protocol_vxlan.py new file mode 100644 index 00000000..390c25d0 --- /dev/null +++ b/equinix/services/fabricv4/test/test_link_protocol_vxlan.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.link_protocol_vxlan import LinkProtocolVxlan + +class TestLinkProtocolVxlan(unittest.TestCase): + """LinkProtocolVxlan unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> LinkProtocolVxlan: + """Test LinkProtocolVxlan + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `LinkProtocolVxlan` + """ + model = LinkProtocolVxlan() + if include_optional: + return LinkProtocolVxlan( + type = 'UNTAGGED', + vni = 4097 + ) + else: + return LinkProtocolVxlan( + vni = 4097, + ) + """ + + def testLinkProtocolVxlan(self): + """Test LinkProtocolVxlan""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_marketing_info.py b/equinix/services/fabricv4/test/test_marketing_info.py new file mode 100644 index 00000000..1d238c53 --- /dev/null +++ b/equinix/services/fabricv4/test/test_marketing_info.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.marketing_info import MarketingInfo + +class TestMarketingInfo(unittest.TestCase): + """MarketingInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MarketingInfo: + """Test MarketingInfo + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MarketingInfo` + """ + model = MarketingInfo() + if include_optional: + return MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ] + ) + else: + return MarketingInfo( + ) + """ + + def testMarketingInfo(self): + """Test MarketingInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_md5.py b/equinix/services/fabricv4/test/test_md5.py new file mode 100644 index 00000000..636de9a2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_md5.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.md5 import Md5 + +class TestMd5(unittest.TestCase): + """Md5 unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Md5: + """Test Md5 + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Md5` + """ + model = Md5() + if include_optional: + return Md5( + type = 'ASCII', + id = '', + password = '' + ) + else: + return Md5( + ) + """ + + def testMd5(self): + """Test Md5""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_md5_type.py b/equinix/services/fabricv4/test/test_md5_type.py new file mode 100644 index 00000000..080ceb35 --- /dev/null +++ b/equinix/services/fabricv4/test/test_md5_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.md5_type import Md5Type + +class TestMd5Type(unittest.TestCase): + """Md5Type unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testMd5Type(self): + """Test Md5Type""" + # inst = Md5Type() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metal_interconnection.py b/equinix/services/fabricv4/test/test_metal_interconnection.py new file mode 100644 index 00000000..501c0edc --- /dev/null +++ b/equinix/services/fabricv4/test/test_metal_interconnection.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metal_interconnection import MetalInterconnection + +class TestMetalInterconnection(unittest.TestCase): + """MetalInterconnection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetalInterconnection: + """Test MetalInterconnection + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetalInterconnection` + """ + model = MetalInterconnection() + if include_optional: + return MetalInterconnection( + uuid = '' + ) + else: + return MetalInterconnection( + ) + """ + + def testMetalInterconnection(self): + """Test MetalInterconnection""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metric_interval.py b/equinix/services/fabricv4/test/test_metric_interval.py new file mode 100644 index 00000000..500bc9e4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_metric_interval.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metric_interval import MetricInterval + +class TestMetricInterval(unittest.TestCase): + """MetricInterval unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testMetricInterval(self): + """Test MetricInterval""" + # inst = MetricInterval() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metrics.py b/equinix/services/fabricv4/test/test_metrics.py new file mode 100644 index 00000000..e356cdb3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_metrics.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metrics import Metrics + +class TestMetrics(unittest.TestCase): + """Metrics unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Metrics: + """Test Metrics + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Metrics` + """ + model = Metrics() + if include_optional: + return Metrics( + interval_end_timestamp = '2020-11-06T07:00Z', + max = 1.337, + mean = 1.337 + ) + else: + return Metrics( + ) + """ + + def testMetrics(self): + """Test Metrics""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metro.py b/equinix/services/fabricv4/test/test_metro.py new file mode 100644 index 00000000..e84d8d00 --- /dev/null +++ b/equinix/services/fabricv4/test/test_metro.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metro import Metro + +class TestMetro(unittest.TestCase): + """Metro unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Metro: + """Test Metro + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Metro` + """ + model = Metro() + if include_optional: + return Metro( + href = '', + type = '', + code = '', + region = '', + name = '', + equinix_asn = 56, + local_vc_bandwidth_max = 56, + geo_coordinates = equinix.services.fabricv4.models.geo_coordinates.GeoCoordinates( + latitude = 1.337, + longitude = 1.337, ), + connected_metros = [ + equinix.services.fabricv4.models.connected_metro.ConnectedMetro( + href = '', + code = '', + avg_latency = 1.337, + remote_vc_bandwidth_max = 56, ) + ], + geo_scopes = [ + 'CANADA' + ] + ) + else: + return Metro( + ) + """ + + def testMetro(self): + """Test Metro""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metro_error.py b/equinix/services/fabricv4/test/test_metro_error.py new file mode 100644 index 00000000..cdf9fa3e --- /dev/null +++ b/equinix/services/fabricv4/test/test_metro_error.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metro_error import MetroError + +class TestMetroError(unittest.TestCase): + """MetroError unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetroError: + """Test MetroError + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetroError` + """ + model = MetroError() + if include_optional: + return MetroError( + error_code = 'EQ-3036001', + error_message = 'Unauthorized', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ] + ) + else: + return MetroError( + error_code = 'EQ-3036001', + error_message = 'Unauthorized', + ) + """ + + def testMetroError(self): + """Test MetroError""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metro_error_error_code.py b/equinix/services/fabricv4/test/test_metro_error_error_code.py new file mode 100644 index 00000000..4a8b5218 --- /dev/null +++ b/equinix/services/fabricv4/test/test_metro_error_error_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metro_error_error_code import MetroErrorErrorCode + +class TestMetroErrorErrorCode(unittest.TestCase): + """MetroErrorErrorCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testMetroErrorErrorCode(self): + """Test MetroErrorErrorCode""" + # inst = MetroErrorErrorCode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metro_error_error_message.py b/equinix/services/fabricv4/test/test_metro_error_error_message.py new file mode 100644 index 00000000..6e7fe8af --- /dev/null +++ b/equinix/services/fabricv4/test/test_metro_error_error_message.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metro_error_error_message import MetroErrorErrorMessage + +class TestMetroErrorErrorMessage(unittest.TestCase): + """MetroErrorErrorMessage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testMetroErrorErrorMessage(self): + """Test MetroErrorErrorMessage""" + # inst = MetroErrorErrorMessage() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metro_response.py b/equinix/services/fabricv4/test/test_metro_response.py new file mode 100644 index 00000000..a5d6f3c2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_metro_response.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.metro_response import MetroResponse + +class TestMetroResponse(unittest.TestCase): + """MetroResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> MetroResponse: + """Test MetroResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `MetroResponse` + """ + model = MetroResponse() + if include_optional: + return MetroResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.metro.Metro( + href = '', + type = '', + code = '', + region = '', + name = '', + equinix_asn = 56, + local_vc_bandwidth_max = 56, + geo_coordinates = equinix.services.fabricv4.models.geo_coordinates.GeoCoordinates( + latitude = 1.337, + longitude = 1.337, ), + connected_metros = [ + equinix.services.fabricv4.models.connected_metro.ConnectedMetro( + href = '', + code = '', + avg_latency = 1.337, + remote_vc_bandwidth_max = 56, ) + ], + geo_scopes = [ + 'CANADA' + ], ) + ] + ) + else: + return MetroResponse( + ) + """ + + def testMetroResponse(self): + """Test MetroResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_metros_api.py b/equinix/services/fabricv4/test/test_metros_api.py new file mode 100644 index 00000000..a652f7af --- /dev/null +++ b/equinix/services/fabricv4/test/test_metros_api.py @@ -0,0 +1,46 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.metros_api import MetrosApi + + +class TestMetrosApi(unittest.TestCase): + """MetrosApi unit test stubs""" + + def setUp(self) -> None: + self.api = MetrosApi() + + def tearDown(self) -> None: + pass + + def test_get_metro_by_code(self) -> None: + """Test case for get_metro_by_code + + Get Metro by Code + """ + pass + + def test_get_metros(self) -> None: + """Test case for get_metros + + Get all Metros + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network.py b/equinix/services/fabricv4/test/test_network.py new file mode 100644 index 00000000..9a25dcbd --- /dev/null +++ b/equinix/services/fabricv4/test/test_network.py @@ -0,0 +1,147 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network import Network + +class TestNetwork(unittest.TestCase): + """Network unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Network: + """Test Network + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Network` + """ + model = Network() + if include_optional: + return Network( + type = 'EVPLAN', + name = '', + scope = 'REGIONAL', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + state = 'ACTIVE', + connections_count = 1.337, + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change = equinix.services.fabricv4.models.simplified_network_change.SimplifiedNetworkChange( + href = 'https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9', + uuid = '4b17da68-3d6b-436d-9c8f-2105f3b950d9', + type = 'NETWORK_CREATION', ), + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ] + ) + else: + return Network( + type = 'EVPLAN', + name = '', + scope = 'REGIONAL', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + state = 'ACTIVE', + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + ) + """ + + def testNetwork(self): + """Test Network""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_change.py b/equinix/services/fabricv4/test/test_network_change.py new file mode 100644 index 00000000..99e63e81 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_change.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_change import NetworkChange + +class TestNetworkChange(unittest.TestCase): + """NetworkChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkChange: + """Test NetworkChange + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkChange` + """ + model = NetworkChange() + if include_optional: + return NetworkChange( + href = 'https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9', + uuid = '4b17da68-3d6b-436d-9c8f-2105f3b950d9', + type = 'NETWORK_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + data = [ + equinix.services.fabricv4.models.network_change_operation.NetworkChangeOperation( + op = 'replace', + path = '/name', + value = null, ) + ] + ) + else: + return NetworkChange( + ) + """ + + def testNetworkChange(self): + """Test NetworkChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_change_operation.py b/equinix/services/fabricv4/test/test_network_change_operation.py new file mode 100644 index 00000000..0658a383 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_change_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_change_operation import NetworkChangeOperation + +class TestNetworkChangeOperation(unittest.TestCase): + """NetworkChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkChangeOperation: + """Test NetworkChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkChangeOperation` + """ + model = NetworkChangeOperation() + if include_optional: + return NetworkChangeOperation( + op = 'replace', + path = '/name', + value = None + ) + else: + return NetworkChangeOperation( + op = 'replace', + path = '/name', + value = None, + ) + """ + + def testNetworkChangeOperation(self): + """Test NetworkChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_change_response.py b/equinix/services/fabricv4/test/test_network_change_response.py new file mode 100644 index 00000000..1856ca72 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_change_response.py @@ -0,0 +1,72 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_change_response import NetworkChangeResponse + +class TestNetworkChangeResponse(unittest.TestCase): + """NetworkChangeResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkChangeResponse: + """Test NetworkChangeResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkChangeResponse` + """ + model = NetworkChangeResponse() + if include_optional: + return NetworkChangeResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.network_change.NetworkChange( + href = 'https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9', + uuid = '4b17da68-3d6b-436d-9c8f-2105f3b950d9', + type = 'NETWORK_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + data = [ + equinix.services.fabricv4.models.network_change_operation.NetworkChangeOperation( + op = 'replace', + path = '/name', + value = null, ) + ], ) + ] + ) + else: + return NetworkChangeResponse( + ) + """ + + def testNetworkChangeResponse(self): + """Test NetworkChangeResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_change_status.py b/equinix/services/fabricv4/test/test_network_change_status.py new file mode 100644 index 00000000..cb7ef871 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_change_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_change_status import NetworkChangeStatus + +class TestNetworkChangeStatus(unittest.TestCase): + """NetworkChangeStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkChangeStatus(self): + """Test NetworkChangeStatus""" + # inst = NetworkChangeStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_change_type.py b/equinix/services/fabricv4/test/test_network_change_type.py new file mode 100644 index 00000000..8109a230 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_change_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_change_type import NetworkChangeType + +class TestNetworkChangeType(unittest.TestCase): + """NetworkChangeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkChangeType(self): + """Test NetworkChangeType""" + # inst = NetworkChangeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_connections.py b/equinix/services/fabricv4/test/test_network_connections.py new file mode 100644 index 00000000..cdb82ee3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_connections.py @@ -0,0 +1,318 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_connections import NetworkConnections + +class TestNetworkConnections(unittest.TestCase): + """NetworkConnections unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkConnections: + """Test NetworkConnections + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkConnections` + """ + model = NetworkConnections() + if include_optional: + return NetworkConnections( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.connection.Connection( + type = 'EVPL_VC', + href = '', + uuid = '', + name = '', + description = '', + state = 'ACTIVE', + change = equinix.services.fabricv4.models.change.Change( + uuid = '', + type = 'CONNECTION_CREATION', + status = 'APPROVED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.connection_change_operation.ConnectionChangeOperation( + op = 'add', + path = '/ipv6', + value = null, ), ), + operation = equinix.services.fabricv4.models.connection_operation.ConnectionOperation( + provider_status = 'AVAILABLE', + equinix_status = 'REJECTED_ACK', + operational_status = 'UP', + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], + op_status_changed_at = '2020-11-06T07:00Z', ), + order = equinix.services.fabricv4.models.order.Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + bandwidth = 0, + geo_scope = 'CANADA', + redundancy = equinix.services.fabricv4.models.connection_redundancy.ConnectionRedundancy( + group = '', + priority = 'PRIMARY', ), + is_remote = True, + direction = 'INTERNAL', + a_side = equinix.services.fabricv4.models.connection_side.ConnectionSide( + service_token = equinix.services.fabricv4.models.service_token.ServiceToken( + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + access_point = equinix.services.fabricv4.models.access_point.AccessPoint( + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + profile = equinix.services.fabricv4.models.simplified_service_profile.SimplifiedServiceProfile( + href = '', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '', ), + router = equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, ), + virtual_device = equinix.services.fabricv4.models.virtual_device.VirtualDevice( + href = '', + uuid = '', + name = '', ), + interface = equinix.services.fabricv4.models.interface.Interface( + href = '', + uuid = '', + id = 56, + project_id = '', ), + network = equinix.services.fabricv4.models.simplified_network.SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + scope = 'REGIONAL', ), + seller_region = '', + peering_type = 'PRIVATE', + authentication_key = '', + provider_connection_id = '', + virtual_network = equinix.services.fabricv4.models.virtual_network.VirtualNetwork( + href = '', + uuid = '', ), + interconnection = equinix.services.fabricv4.models.metal_interconnection.MetalInterconnection( + uuid = '', ), + vpic_interface = equinix.services.fabricv4.models.vpic_interface.VpicInterface( + href = '', + uuid = '', ), ), + internet_access = equinix.services.fabricv4.models.internet_access.InternetAccess( + uuid = '', ), + company_profile = equinix.services.fabricv4.models.connection_company_profile.ConnectionCompanyProfile( + id = 1, + name = 'Company-1', + global_org_id = '', ), + invitation = equinix.services.fabricv4.models.connection_invitation.ConnectionInvitation( + email = 'test@equinix.com', + message = 'Hello, Please accept my invitation', + ctr_draft_order_id = '', ), ), + z_side = equinix.services.fabricv4.models.connection_side.ConnectionSide(), + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ], + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ) + ] + ) + else: + return NetworkConnections( + ) + """ + + def testNetworkConnections(self): + """Test NetworkConnections""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_equinix_status.py b/equinix/services/fabricv4/test/test_network_equinix_status.py new file mode 100644 index 00000000..6b1365b6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_equinix_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_equinix_status import NetworkEquinixStatus + +class TestNetworkEquinixStatus(unittest.TestCase): + """NetworkEquinixStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkEquinixStatus(self): + """Test NetworkEquinixStatus""" + # inst = NetworkEquinixStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_filter.py b/equinix/services/fabricv4/test/test_network_filter.py new file mode 100644 index 00000000..5cea2900 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_filter.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_filter import NetworkFilter + +class TestNetworkFilter(unittest.TestCase): + """NetworkFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkFilter: + """Test NetworkFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkFilter` + """ + model = NetworkFilter() + if include_optional: + return NetworkFilter( + var_and = [ + equinix.services.fabricv4.models.network_filter.NetworkFilter( + and = [ + equinix.services.fabricv4.models.network_filter.NetworkFilter( + and = , + or = , + property = '/name', + operator = '=', + values = [ + 'Network-1' + ], ) + ], + or = , + property = '/name', + operator = '=', + values = [ + 'Network-1' + ], ) + ], + var_or = [ + equinix.services.fabricv4.models.network_filter.NetworkFilter( + and = [ + equinix.services.fabricv4.models.network_filter.NetworkFilter( + and = , + or = , + property = '/name', + operator = '=', + values = [ + 'Network-1' + ], ) + ], + or = , + property = '/name', + operator = '=', + values = [ + 'Network-1' + ], ) + ], + var_property = '/name', + operator = '=', + values = [ + 'Network-1' + ] + ) + else: + return NetworkFilter( + ) + """ + + def testNetworkFilter(self): + """Test NetworkFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_filter_operator.py b/equinix/services/fabricv4/test/test_network_filter_operator.py new file mode 100644 index 00000000..62b2fb35 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_filter_operator.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_filter_operator import NetworkFilterOperator + +class TestNetworkFilterOperator(unittest.TestCase): + """NetworkFilterOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkFilterOperator(self): + """Test NetworkFilterOperator""" + # inst = NetworkFilterOperator() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_operation.py b/equinix/services/fabricv4/test/test_network_operation.py new file mode 100644 index 00000000..15808cf4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_operation.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_operation import NetworkOperation + +class TestNetworkOperation(unittest.TestCase): + """NetworkOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkOperation: + """Test NetworkOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkOperation` + """ + model = NetworkOperation() + if include_optional: + return NetworkOperation( + equinix_status = 'PROVISIONING' + ) + else: + return NetworkOperation( + ) + """ + + def testNetworkOperation(self): + """Test NetworkOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_post_request.py b/equinix/services/fabricv4/test/test_network_post_request.py new file mode 100644 index 00000000..dc14dd20 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_post_request.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_post_request import NetworkPostRequest + +class TestNetworkPostRequest(unittest.TestCase): + """NetworkPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkPostRequest: + """Test NetworkPostRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkPostRequest` + """ + model = NetworkPostRequest() + if include_optional: + return NetworkPostRequest( + type = 'EVPLAN', + name = '', + scope = 'REGIONAL', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ] + ) + else: + return NetworkPostRequest( + type = 'EVPLAN', + name = '', + scope = 'REGIONAL', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + ) + """ + + def testNetworkPostRequest(self): + """Test NetworkPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_scope.py b/equinix/services/fabricv4/test/test_network_scope.py new file mode 100644 index 00000000..19deb82a --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_scope.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_scope import NetworkScope + +class TestNetworkScope(unittest.TestCase): + """NetworkScope unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkScope(self): + """Test NetworkScope""" + # inst = NetworkScope() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_search_field_name.py b/equinix/services/fabricv4/test/test_network_search_field_name.py new file mode 100644 index 00000000..0fba1756 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_search_field_name.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_search_field_name import NetworkSearchFieldName + +class TestNetworkSearchFieldName(unittest.TestCase): + """NetworkSearchFieldName unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkSearchFieldName(self): + """Test NetworkSearchFieldName""" + # inst = NetworkSearchFieldName() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_search_request.py b/equinix/services/fabricv4/test/test_network_search_request.py new file mode 100644 index 00000000..923569c8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_search_request.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_search_request import NetworkSearchRequest + +class TestNetworkSearchRequest(unittest.TestCase): + """NetworkSearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkSearchRequest: + """Test NetworkSearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkSearchRequest` + """ + model = NetworkSearchRequest() + if include_optional: + return NetworkSearchRequest( + filter = equinix.services.fabricv4.models.network_filter.NetworkFilter( + and = [ + equinix.services.fabricv4.models.network_filter.NetworkFilter( + or = [ + + ], + property = '/name', + operator = '=', + values = [ + 'Network-1' + ], ) + ], + or = , + property = '/name', + operator = '=', + values = [ + 'Network-1' + ], ), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ), + sort = [ + equinix.services.fabricv4.models.network_sort_criteria.NetworkSortCriteria( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ] + ) + else: + return NetworkSearchRequest( + ) + """ + + def testNetworkSearchRequest(self): + """Test NetworkSearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_search_response.py b/equinix/services/fabricv4/test/test_network_search_response.py new file mode 100644 index 00000000..d52bb780 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_search_response.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_search_response import NetworkSearchResponse + +class TestNetworkSearchResponse(unittest.TestCase): + """NetworkSearchResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkSearchResponse: + """Test NetworkSearchResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkSearchResponse` + """ + model = NetworkSearchResponse() + if include_optional: + return NetworkSearchResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + sort = [ + equinix.services.fabricv4.models.network_sort_criteria_response.NetworkSortCriteriaResponse( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ], + data = [ + equinix.services.fabricv4.models.network.Network() + ] + ) + else: + return NetworkSearchResponse( + ) + """ + + def testNetworkSearchResponse(self): + """Test NetworkSearchResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_sort_by.py b/equinix/services/fabricv4/test/test_network_sort_by.py new file mode 100644 index 00000000..e57fe6bb --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_sort_by.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_sort_by import NetworkSortBy + +class TestNetworkSortBy(unittest.TestCase): + """NetworkSortBy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkSortBy(self): + """Test NetworkSortBy""" + # inst = NetworkSortBy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_sort_by_response.py b/equinix/services/fabricv4/test/test_network_sort_by_response.py new file mode 100644 index 00000000..3c4c5fba --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_sort_by_response.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_sort_by_response import NetworkSortByResponse + +class TestNetworkSortByResponse(unittest.TestCase): + """NetworkSortByResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkSortByResponse(self): + """Test NetworkSortByResponse""" + # inst = NetworkSortByResponse() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_sort_criteria.py b/equinix/services/fabricv4/test/test_network_sort_criteria.py new file mode 100644 index 00000000..142f25fc --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_sort_criteria.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_sort_criteria import NetworkSortCriteria + +class TestNetworkSortCriteria(unittest.TestCase): + """NetworkSortCriteria unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkSortCriteria: + """Test NetworkSortCriteria + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkSortCriteria` + """ + model = NetworkSortCriteria() + if include_optional: + return NetworkSortCriteria( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return NetworkSortCriteria( + ) + """ + + def testNetworkSortCriteria(self): + """Test NetworkSortCriteria""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_sort_criteria_response.py b/equinix/services/fabricv4/test/test_network_sort_criteria_response.py new file mode 100644 index 00000000..09b55abf --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_sort_criteria_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_sort_criteria_response import NetworkSortCriteriaResponse + +class TestNetworkSortCriteriaResponse(unittest.TestCase): + """NetworkSortCriteriaResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> NetworkSortCriteriaResponse: + """Test NetworkSortCriteriaResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `NetworkSortCriteriaResponse` + """ + model = NetworkSortCriteriaResponse() + if include_optional: + return NetworkSortCriteriaResponse( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return NetworkSortCriteriaResponse( + ) + """ + + def testNetworkSortCriteriaResponse(self): + """Test NetworkSortCriteriaResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_sort_direction.py b/equinix/services/fabricv4/test/test_network_sort_direction.py new file mode 100644 index 00000000..f1dd0d62 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_sort_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_sort_direction import NetworkSortDirection + +class TestNetworkSortDirection(unittest.TestCase): + """NetworkSortDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkSortDirection(self): + """Test NetworkSortDirection""" + # inst = NetworkSortDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_sort_direction_response.py b/equinix/services/fabricv4/test/test_network_sort_direction_response.py new file mode 100644 index 00000000..cd3d3c9a --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_sort_direction_response.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_sort_direction_response import NetworkSortDirectionResponse + +class TestNetworkSortDirectionResponse(unittest.TestCase): + """NetworkSortDirectionResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkSortDirectionResponse(self): + """Test NetworkSortDirectionResponse""" + # inst = NetworkSortDirectionResponse() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_state.py b/equinix/services/fabricv4/test/test_network_state.py new file mode 100644 index 00000000..88f7ac1f --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_state import NetworkState + +class TestNetworkState(unittest.TestCase): + """NetworkState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkState(self): + """Test NetworkState""" + # inst = NetworkState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_network_type.py b/equinix/services/fabricv4/test/test_network_type.py new file mode 100644 index 00000000..5ee6a592 --- /dev/null +++ b/equinix/services/fabricv4/test/test_network_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.network_type import NetworkType + +class TestNetworkType(unittest.TestCase): + """NetworkType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testNetworkType(self): + """Test NetworkType""" + # inst = NetworkType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_networks_api.py b/equinix/services/fabricv4/test/test_networks_api.py new file mode 100644 index 00000000..77100f56 --- /dev/null +++ b/equinix/services/fabricv4/test/test_networks_api.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.networks_api import NetworksApi + + +class TestNetworksApi(unittest.TestCase): + """NetworksApi unit test stubs""" + + def setUp(self) -> None: + self.api = NetworksApi() + + def tearDown(self) -> None: + pass + + def test_create_network(self) -> None: + """Test case for create_network + + Create Network + """ + pass + + def test_delete_network_by_uuid(self) -> None: + """Test case for delete_network_by_uuid + + Delete Network By ID + """ + pass + + def test_get_connections_by_network_uuid(self) -> None: + """Test case for get_connections_by_network_uuid + + Get Connections + """ + pass + + def test_get_network_by_uuid(self) -> None: + """Test case for get_network_by_uuid + + Get Network By ID + """ + pass + + def test_get_network_change_by_uuid(self) -> None: + """Test case for get_network_change_by_uuid + + Get Change By ID + """ + pass + + def test_get_network_changes(self) -> None: + """Test case for get_network_changes + + Get Network Changes + """ + pass + + def test_search_networks(self) -> None: + """Test case for search_networks + + Search Network + """ + pass + + def test_update_network_by_uuid(self) -> None: + """Test case for update_network_by_uuid + + Update Network By ID + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_op_enum.py b/equinix/services/fabricv4/test/test_op_enum.py new file mode 100644 index 00000000..2171d270 --- /dev/null +++ b/equinix/services/fabricv4/test/test_op_enum.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.op_enum import OpEnum + +class TestOpEnum(unittest.TestCase): + """OpEnum unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testOpEnum(self): + """Test OpEnum""" + # inst = OpEnum() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_order.py b/equinix/services/fabricv4/test/test_order.py new file mode 100644 index 00000000..daeaf6aa --- /dev/null +++ b/equinix/services/fabricv4/test/test_order.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.order import Order + +class TestOrder(unittest.TestCase): + """Order unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Order: + """Test Order + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Order` + """ + model = Order() + if include_optional: + return Order( + purchase_order_number = '', + customer_reference_number = '', + billing_tier = '', + order_id = '', + order_number = '' + ) + else: + return Order( + ) + """ + + def testOrder(self): + """Test Order""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_package_change_log.py b/equinix/services/fabricv4/test/test_package_change_log.py new file mode 100644 index 00000000..8325acb5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_package_change_log.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.package_change_log import PackageChangeLog + +class TestPackageChangeLog(unittest.TestCase): + """PackageChangeLog unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PackageChangeLog: + """Test PackageChangeLog + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PackageChangeLog` + """ + model = PackageChangeLog() + if include_optional: + return PackageChangeLog( + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z' + ) + else: + return PackageChangeLog( + ) + """ + + def testPackageChangeLog(self): + """Test PackageChangeLog""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_package_response.py b/equinix/services/fabricv4/test/test_package_response.py new file mode 100644 index 00000000..8686679e --- /dev/null +++ b/equinix/services/fabricv4/test/test_package_response.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.package_response import PackageResponse + +class TestPackageResponse(unittest.TestCase): + """PackageResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PackageResponse: + """Test PackageResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PackageResponse` + """ + model = PackageResponse() + if include_optional: + return PackageResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.cloud_router_package.CloudRouterPackage( + href = 'https://api.equinix.com/fabric/v4/routerPackages/LAB', + type = 'ROUTER_PACKAGE', + code = 'LAB', + description = '', + total_ipv4_routes_max = 50, + total_ipv6_routes_max = 50, + static_ipv4_routes_max = 3, + static_ipv6_routes_max = 0, + nacls_max = 2, + nacl_rules_max = 5, + ha_supported = True, + route_filter_supported = True, + nat_type = 'STATIC_NAT', + vc_count_max = 10, + cr_count_max = 3, + vc_bandwidth_max = 50, + change_log = equinix.services.fabricv4.models.package_change_log.PackageChangeLog( + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', ), ) + ] + ) + else: + return PackageResponse( + ) + """ + + def testPackageResponse(self): + """Test PackageResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_pagination.py b/equinix/services/fabricv4/test/test_pagination.py new file mode 100644 index 00000000..3c285a9c --- /dev/null +++ b/equinix/services/fabricv4/test/test_pagination.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.pagination import Pagination + +class TestPagination(unittest.TestCase): + """Pagination unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Pagination: + """Test Pagination + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Pagination` + """ + model = Pagination() + if include_optional: + return Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '' + ) + else: + return Pagination( + limit = 0, + total = 0, + ) + """ + + def testPagination(self): + """Test Pagination""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_pagination_request.py b/equinix/services/fabricv4/test/test_pagination_request.py new file mode 100644 index 00000000..573e8454 --- /dev/null +++ b/equinix/services/fabricv4/test/test_pagination_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.pagination_request import PaginationRequest + +class TestPaginationRequest(unittest.TestCase): + """PaginationRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PaginationRequest: + """Test PaginationRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PaginationRequest` + """ + model = PaginationRequest() + if include_optional: + return PaginationRequest( + offset = 0, + limit = 1 + ) + else: + return PaginationRequest( + ) + """ + + def testPaginationRequest(self): + """Test PaginationRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_peering_type.py b/equinix/services/fabricv4/test/test_peering_type.py new file mode 100644 index 00000000..42891760 --- /dev/null +++ b/equinix/services/fabricv4/test/test_peering_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.peering_type import PeeringType + +class TestPeeringType(unittest.TestCase): + """PeeringType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPeeringType(self): + """Test PeeringType""" + # inst = PeeringType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_physical_port.py b/equinix/services/fabricv4/test/test_physical_port.py new file mode 100644 index 00000000..b7d0a789 --- /dev/null +++ b/equinix/services/fabricv4/test/test_physical_port.py @@ -0,0 +1,119 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.physical_port import PhysicalPort + +class TestPhysicalPort(unittest.TestCase): + """PhysicalPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PhysicalPort: + """Test PhysicalPort + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PhysicalPort` + """ + model = PhysicalPort() + if include_optional: + return PhysicalPort( + type = 'XF_PHYSICAL_PORT', + id = 56, + href = '', + state = 'PENDING', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', + type = 'CTR_LOA', ) + ] + ) + else: + return PhysicalPort( + ) + """ + + def testPhysicalPort(self): + """Test PhysicalPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_physical_port_type.py b/equinix/services/fabricv4/test/test_physical_port_type.py new file mode 100644 index 00000000..03b7df68 --- /dev/null +++ b/equinix/services/fabricv4/test/test_physical_port_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.physical_port_type import PhysicalPortType + +class TestPhysicalPortType(unittest.TestCase): + """PhysicalPortType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPhysicalPortType(self): + """Test PhysicalPortType""" + # inst = PhysicalPortType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port.py b/equinix/services/fabricv4/test/test_port.py new file mode 100644 index 00000000..f2afdb4c --- /dev/null +++ b/equinix/services/fabricv4/test/test_port.py @@ -0,0 +1,277 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port import Port + +class TestPort(unittest.TestCase): + """Port unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Port: + """Test Port + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Port` + """ + model = Port() + if include_optional: + return Port( + type = 'XF_PORT', + id = 56, + href = '', + uuid = '', + name = '', + description = '', + physical_ports_speed = 0, + connections_count = 0, + physical_ports_type = '1000BASE_LX', + physical_ports_count = 56, + connectivity_source_type = 'COLO', + bmmr_type = 'SELF', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + state = 'PENDING', + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + cvp_id = '', + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + account = equinix.services.fabricv4.models.simplified_account_port_response.SimplifiedAccountPortResponse( + account_number = '', + org_id = '', + reseller_account_number = '', + reseller_org_id = '', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + service_type = 'EPL', + bandwidth = 0, + available_bandwidth = 0, + used_bandwidth = 0, + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + device = equinix.services.fabricv4.models.port_device.PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ), ), + interface = equinix.services.fabricv4.models.port_interface.PortInterface( + type = '', + if_index = '', + name = '', ), + demarcation_point_ibx = '', + tether_ibx = '', + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + redundancy = equinix.services.fabricv4.models.port_redundancy.PortRedundancy( + enabled = True, + group = '', + priority = 'PRIMARY', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + type = 'NULL', + tag_protocol_id = '', ), + lag_enabled = True, + lag = equinix.services.fabricv4.models.port_lag.PortLag( + id = '', + enabled = True, + name = '', + member_status = '', ), + asn = 56, + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + physical_port_quantity = 56, + notifications = [ + equinix.services.fabricv4.models.port_notification.PortNotification( + type = 'NOTIFICATION', + registered_users = [ + '' + ], ) + ], + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + physical_ports = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + type = 'XF_PHYSICAL_PORT', + id = 56, + href = '', + state = 'PENDING', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ], + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', + type = 'CTR_LOA', ) + ] + ) + else: + return Port( + type = 'XF_PORT', + physical_ports_speed = 0, + physical_ports_type = '1000BASE_LX', + connectivity_source_type = 'COLO', + account = equinix.services.fabricv4.models.simplified_account_port_response.SimplifiedAccountPortResponse( + account_number = '', + org_id = '', + reseller_account_number = '', + reseller_org_id = '', ), + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + type = 'NULL', + tag_protocol_id = '', ), + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + ) + """ + + def testPort(self): + """Test Port""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_additional_info.py b/equinix/services/fabricv4/test/test_port_additional_info.py new file mode 100644 index 00000000..77abb7bd --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_additional_info.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo + +class TestPortAdditionalInfo(unittest.TestCase): + """PortAdditionalInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortAdditionalInfo: + """Test PortAdditionalInfo + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortAdditionalInfo` + """ + model = PortAdditionalInfo() + if include_optional: + return PortAdditionalInfo( + key = '', + value = '' + ) + else: + return PortAdditionalInfo( + ) + """ + + def testPortAdditionalInfo(self): + """Test PortAdditionalInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_demarcation_point.py b/equinix/services/fabricv4/test/test_port_demarcation_point.py new file mode 100644 index 00000000..d7689e35 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_demarcation_point.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_demarcation_point import PortDemarcationPoint + +class TestPortDemarcationPoint(unittest.TestCase): + """PortDemarcationPoint unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortDemarcationPoint: + """Test PortDemarcationPoint + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortDemarcationPoint` + """ + model = PortDemarcationPoint() + if include_optional: + return PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '' + ) + else: + return PortDemarcationPoint( + ) + """ + + def testPortDemarcationPoint(self): + """Test PortDemarcationPoint""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_device.py b/equinix/services/fabricv4/test/test_port_device.py new file mode 100644 index 00000000..d66359c2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_device.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_device import PortDevice + +class TestPortDevice(unittest.TestCase): + """PortDevice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortDevice: + """Test PortDevice + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortDevice` + """ + model = PortDevice() + if include_optional: + return PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ) + ) + else: + return PortDevice( + ) + """ + + def testPortDevice(self): + """Test PortDevice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_device_redundancy.py b/equinix/services/fabricv4/test/test_port_device_redundancy.py new file mode 100644 index 00000000..5eac478e --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_device_redundancy.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_device_redundancy import PortDeviceRedundancy + +class TestPortDeviceRedundancy(unittest.TestCase): + """PortDeviceRedundancy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortDeviceRedundancy: + """Test PortDeviceRedundancy + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortDeviceRedundancy` + """ + model = PortDeviceRedundancy() + if include_optional: + return PortDeviceRedundancy( + group = '', + priority = 'PRIMARY' + ) + else: + return PortDeviceRedundancy( + ) + """ + + def testPortDeviceRedundancy(self): + """Test PortDeviceRedundancy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_device_redundancy_priority.py b/equinix/services/fabricv4/test/test_port_device_redundancy_priority.py new file mode 100644 index 00000000..5ac73eda --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_device_redundancy_priority.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_device_redundancy_priority import PortDeviceRedundancyPriority + +class TestPortDeviceRedundancyPriority(unittest.TestCase): + """PortDeviceRedundancyPriority unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortDeviceRedundancyPriority(self): + """Test PortDeviceRedundancyPriority""" + # inst = PortDeviceRedundancyPriority() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_encapsulation.py b/equinix/services/fabricv4/test/test_port_encapsulation.py new file mode 100644 index 00000000..5a9b4f7c --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_encapsulation.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_encapsulation import PortEncapsulation + +class TestPortEncapsulation(unittest.TestCase): + """PortEncapsulation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortEncapsulation: + """Test PortEncapsulation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortEncapsulation` + """ + model = PortEncapsulation() + if include_optional: + return PortEncapsulation( + type = 'NULL', + tag_protocol_id = '' + ) + else: + return PortEncapsulation( + ) + """ + + def testPortEncapsulation(self): + """Test PortEncapsulation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_encapsulation_type.py b/equinix/services/fabricv4/test/test_port_encapsulation_type.py new file mode 100644 index 00000000..6d897848 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_encapsulation_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_encapsulation_type import PortEncapsulationType + +class TestPortEncapsulationType(unittest.TestCase): + """PortEncapsulationType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortEncapsulationType(self): + """Test PortEncapsulationType""" + # inst = PortEncapsulationType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_expression.py b/equinix/services/fabricv4/test/test_port_expression.py new file mode 100644 index 00000000..4f51f54c --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_expression.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_expression import PortExpression + +class TestPortExpression(unittest.TestCase): + """PortExpression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortExpression: + """Test PortExpression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortExpression` + """ + model = PortExpression() + if include_optional: + return PortExpression( + var_and = [ + equinix.services.fabricv4.models.port_expression.PortExpression( + and = [ + equinix.services.fabricv4.models.port_expression.PortExpression( + and = , + or = , + property = '/project/projectId', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '/project/projectId', + operator = '=', + values = [ + '' + ], ) + ], + var_or = [ + equinix.services.fabricv4.models.port_expression.PortExpression( + and = [ + equinix.services.fabricv4.models.port_expression.PortExpression( + and = , + or = , + property = '/project/projectId', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '/project/projectId', + operator = '=', + values = [ + '' + ], ) + ], + var_property = '/project/projectId', + operator = '=', + values = [ + '' + ] + ) + else: + return PortExpression( + ) + """ + + def testPortExpression(self): + """Test PortExpression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_interface.py b/equinix/services/fabricv4/test/test_port_interface.py new file mode 100644 index 00000000..0d1f9d06 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_interface.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_interface import PortInterface + +class TestPortInterface(unittest.TestCase): + """PortInterface unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortInterface: + """Test PortInterface + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortInterface` + """ + model = PortInterface() + if include_optional: + return PortInterface( + type = '', + if_index = '', + name = '' + ) + else: + return PortInterface( + ) + """ + + def testPortInterface(self): + """Test PortInterface""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_lag.py b/equinix/services/fabricv4/test/test_port_lag.py new file mode 100644 index 00000000..3c67a211 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_lag.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_lag import PortLag + +class TestPortLag(unittest.TestCase): + """PortLag unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortLag: + """Test PortLag + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortLag` + """ + model = PortLag() + if include_optional: + return PortLag( + id = '', + enabled = True, + name = '', + member_status = '' + ) + else: + return PortLag( + ) + """ + + def testPortLag(self): + """Test PortLag""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_loa.py b/equinix/services/fabricv4/test/test_port_loa.py new file mode 100644 index 00000000..e9abfdbf --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_loa.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_loa import PortLoa + +class TestPortLoa(unittest.TestCase): + """PortLoa unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortLoa: + """Test PortLoa + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortLoa` + """ + model = PortLoa() + if include_optional: + return PortLoa( + uuid = '', + href = '', + type = 'CTR_LOA' + ) + else: + return PortLoa( + ) + """ + + def testPortLoa(self): + """Test PortLoa""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_loa_type.py b/equinix/services/fabricv4/test/test_port_loa_type.py new file mode 100644 index 00000000..8c39283f --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_loa_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_loa_type import PortLoaType + +class TestPortLoaType(unittest.TestCase): + """PortLoaType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortLoaType(self): + """Test PortLoaType""" + # inst = PortLoaType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_notification.py b/equinix/services/fabricv4/test/test_port_notification.py new file mode 100644 index 00000000..2c9a0b49 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_notification.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_notification import PortNotification + +class TestPortNotification(unittest.TestCase): + """PortNotification unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortNotification: + """Test PortNotification + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortNotification` + """ + model = PortNotification() + if include_optional: + return PortNotification( + type = 'NOTIFICATION', + registered_users = [ + '' + ] + ) + else: + return PortNotification( + type = 'NOTIFICATION', + registered_users = [ + '' + ], + ) + """ + + def testPortNotification(self): + """Test PortNotification""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_notification_type.py b/equinix/services/fabricv4/test/test_port_notification_type.py new file mode 100644 index 00000000..f1d62b31 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_notification_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_notification_type import PortNotificationType + +class TestPortNotificationType(unittest.TestCase): + """PortNotificationType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortNotificationType(self): + """Test PortNotificationType""" + # inst = PortNotificationType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_operation.py b/equinix/services/fabricv4/test/test_port_operation.py new file mode 100644 index 00000000..1ef2f454 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_operation.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_operation import PortOperation + +class TestPortOperation(unittest.TestCase): + """PortOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortOperation: + """Test PortOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortOperation` + """ + model = PortOperation() + if include_optional: + return PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z' + ) + else: + return PortOperation( + ) + """ + + def testPortOperation(self): + """Test PortOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_operation_operational_status.py b/equinix/services/fabricv4/test/test_port_operation_operational_status.py new file mode 100644 index 00000000..f52a6a6d --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_operation_operational_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_operation_operational_status import PortOperationOperationalStatus + +class TestPortOperationOperationalStatus(unittest.TestCase): + """PortOperationOperationalStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortOperationOperationalStatus(self): + """Test PortOperationOperationalStatus""" + # inst = PortOperationOperationalStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_order.py b/equinix/services/fabricv4/test/test_port_order.py new file mode 100644 index 00000000..92cde2b9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_order.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_order import PortOrder + +class TestPortOrder(unittest.TestCase): + """PortOrder unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortOrder: + """Test PortOrder + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortOrder` + """ + model = PortOrder() + if include_optional: + return PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ) + ) + else: + return PortOrder( + ) + """ + + def testPortOrder(self): + """Test PortOrder""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_order_purchase_order.py b/equinix/services/fabricv4/test/test_port_order_purchase_order.py new file mode 100644 index 00000000..608a8a4e --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_order_purchase_order.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_order_purchase_order import PortOrderPurchaseOrder + +class TestPortOrderPurchaseOrder(unittest.TestCase): + """PortOrderPurchaseOrder unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortOrderPurchaseOrder: + """Test PortOrderPurchaseOrder + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortOrderPurchaseOrder` + """ + model = PortOrderPurchaseOrder() + if include_optional: + return PortOrderPurchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION' + ) + else: + return PortOrderPurchaseOrder( + ) + """ + + def testPortOrderPurchaseOrder(self): + """Test PortOrderPurchaseOrder""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_order_purchase_order_selection_type.py b/equinix/services/fabricv4/test/test_port_order_purchase_order_selection_type.py new file mode 100644 index 00000000..0019af88 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_order_purchase_order_selection_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_order_purchase_order_selection_type import PortOrderPurchaseOrderSelectionType + +class TestPortOrderPurchaseOrderSelectionType(unittest.TestCase): + """PortOrderPurchaseOrderSelectionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortOrderPurchaseOrderSelectionType(self): + """Test PortOrderPurchaseOrderSelectionType""" + # inst = PortOrderPurchaseOrderSelectionType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_order_signature.py b/equinix/services/fabricv4/test/test_port_order_signature.py new file mode 100644 index 00000000..4d97fd45 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_order_signature.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_order_signature import PortOrderSignature + +class TestPortOrderSignature(unittest.TestCase): + """PortOrderSignature unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortOrderSignature: + """Test PortOrderSignature + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortOrderSignature` + """ + model = PortOrderSignature() + if include_optional: + return PortOrderSignature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ) + ) + else: + return PortOrderSignature( + ) + """ + + def testPortOrderSignature(self): + """Test PortOrderSignature""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_order_signature_delegate.py b/equinix/services/fabricv4/test/test_port_order_signature_delegate.py new file mode 100644 index 00000000..5846a519 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_order_signature_delegate.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_order_signature_delegate import PortOrderSignatureDelegate + +class TestPortOrderSignatureDelegate(unittest.TestCase): + """PortOrderSignatureDelegate unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortOrderSignatureDelegate: + """Test PortOrderSignatureDelegate + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortOrderSignatureDelegate` + """ + model = PortOrderSignatureDelegate() + if include_optional: + return PortOrderSignatureDelegate( + first_name = '', + last_name = '', + email = '' + ) + else: + return PortOrderSignatureDelegate( + ) + """ + + def testPortOrderSignatureDelegate(self): + """Test PortOrderSignatureDelegate""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_order_signature_signatory.py b/equinix/services/fabricv4/test/test_port_order_signature_signatory.py new file mode 100644 index 00000000..2119eac3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_order_signature_signatory.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_order_signature_signatory import PortOrderSignatureSignatory + +class TestPortOrderSignatureSignatory(unittest.TestCase): + """PortOrderSignatureSignatory unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortOrderSignatureSignatory(self): + """Test PortOrderSignatureSignatory""" + # inst = PortOrderSignatureSignatory() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_priority.py b/equinix/services/fabricv4/test/test_port_priority.py new file mode 100644 index 00000000..f70cc23d --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_priority.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_priority import PortPriority + +class TestPortPriority(unittest.TestCase): + """PortPriority unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortPriority(self): + """Test PortPriority""" + # inst = PortPriority() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_redundancy.py b/equinix/services/fabricv4/test/test_port_redundancy.py new file mode 100644 index 00000000..adf34c7f --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_redundancy.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_redundancy import PortRedundancy + +class TestPortRedundancy(unittest.TestCase): + """PortRedundancy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortRedundancy: + """Test PortRedundancy + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortRedundancy` + """ + model = PortRedundancy() + if include_optional: + return PortRedundancy( + enabled = True, + group = '', + priority = 'PRIMARY' + ) + else: + return PortRedundancy( + ) + """ + + def testPortRedundancy(self): + """Test PortRedundancy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_response.py b/equinix/services/fabricv4/test/test_port_response.py new file mode 100644 index 00000000..7a71aed4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_response.py @@ -0,0 +1,249 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_response import PortResponse + +class TestPortResponse(unittest.TestCase): + """PortResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortResponse: + """Test PortResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortResponse` + """ + model = PortResponse() + if include_optional: + return PortResponse( + type = 'XF_PORT', + id = 56, + href = '', + uuid = '', + name = '', + description = '', + physical_ports_speed = 0, + connections_count = 0, + physical_ports_type = '1000BASE_LX', + physical_ports_count = 56, + connectivity_source_type = 'COLO', + bmmr_type = 'SELF', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + state = 'PENDING', + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + cvp_id = '', + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + account = equinix.services.fabricv4.models.simplified_account_port_response.SimplifiedAccountPortResponse( + account_number = '', + org_id = '', + reseller_account_number = '', + reseller_org_id = '', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + service_type = 'EPL', + bandwidth = 0, + available_bandwidth = 0, + used_bandwidth = 0, + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + device = equinix.services.fabricv4.models.port_device.PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ), ), + interface = equinix.services.fabricv4.models.port_interface.PortInterface( + type = '', + if_index = '', + name = '', ), + demarcation_point_ibx = '', + tether_ibx = '', + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + redundancy = equinix.services.fabricv4.models.port_redundancy.PortRedundancy( + enabled = True, + group = '', + priority = 'PRIMARY', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + type = 'NULL', + tag_protocol_id = '', ), + lag_enabled = True, + lag = equinix.services.fabricv4.models.port_lag.PortLag( + id = '', + enabled = True, + name = '', + member_status = '', ), + asn = 56, + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + physical_port_quantity = 56, + notifications = [ + equinix.services.fabricv4.models.port_notification.PortNotification( + type = 'NOTIFICATION', + registered_users = [ + '' + ], ) + ], + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + physical_ports = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + type = 'XF_PHYSICAL_PORT', + id = 56, + href = '', + state = 'PENDING', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ], + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', + type = 'CTR_LOA', ) + ] + ) + else: + return PortResponse( + ) + """ + + def testPortResponse(self): + """Test PortResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_response_bmmr_type.py b/equinix/services/fabricv4/test/test_port_response_bmmr_type.py new file mode 100644 index 00000000..8be1e78f --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_response_bmmr_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_response_bmmr_type import PortResponseBmmrType + +class TestPortResponseBmmrType(unittest.TestCase): + """PortResponseBmmrType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortResponseBmmrType(self): + """Test PortResponseBmmrType""" + # inst = PortResponseBmmrType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_response_connectivity_source_type.py b/equinix/services/fabricv4/test/test_port_response_connectivity_source_type.py new file mode 100644 index 00000000..c7fdf811 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_response_connectivity_source_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_response_connectivity_source_type import PortResponseConnectivitySourceType + +class TestPortResponseConnectivitySourceType(unittest.TestCase): + """PortResponseConnectivitySourceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortResponseConnectivitySourceType(self): + """Test PortResponseConnectivitySourceType""" + # inst = PortResponseConnectivitySourceType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_response_physical_ports_type.py b/equinix/services/fabricv4/test/test_port_response_physical_ports_type.py new file mode 100644 index 00000000..9631d967 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_response_physical_ports_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_response_physical_ports_type import PortResponsePhysicalPortsType + +class TestPortResponsePhysicalPortsType(unittest.TestCase): + """PortResponsePhysicalPortsType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortResponsePhysicalPortsType(self): + """Test PortResponsePhysicalPortsType""" + # inst = PortResponsePhysicalPortsType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_response_service_type.py b/equinix/services/fabricv4/test/test_port_response_service_type.py new file mode 100644 index 00000000..8d5e8ad6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_response_service_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_response_service_type import PortResponseServiceType + +class TestPortResponseServiceType(unittest.TestCase): + """PortResponseServiceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortResponseServiceType(self): + """Test PortResponseServiceType""" + # inst = PortResponseServiceType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_search_field_name.py b/equinix/services/fabricv4/test/test_port_search_field_name.py new file mode 100644 index 00000000..901979e9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_search_field_name.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_search_field_name import PortSearchFieldName + +class TestPortSearchFieldName(unittest.TestCase): + """PortSearchFieldName unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortSearchFieldName(self): + """Test PortSearchFieldName""" + # inst = PortSearchFieldName() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_settings.py b/equinix/services/fabricv4/test/test_port_settings.py new file mode 100644 index 00000000..0f8e8701 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_settings.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_settings import PortSettings + +class TestPortSettings(unittest.TestCase): + """PortSettings unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortSettings: + """Test PortSettings + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortSettings` + """ + model = PortSettings() + if include_optional: + return PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD' + ) + else: + return PortSettings( + ) + """ + + def testPortSettings(self): + """Test PortSettings""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_settings_package_type.py b/equinix/services/fabricv4/test/test_port_settings_package_type.py new file mode 100644 index 00000000..cdb02ce4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_settings_package_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_settings_package_type import PortSettingsPackageType + +class TestPortSettingsPackageType(unittest.TestCase): + """PortSettingsPackageType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortSettingsPackageType(self): + """Test PortSettingsPackageType""" + # inst = PortSettingsPackageType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_settings_shared_port_product.py b/equinix/services/fabricv4/test/test_port_settings_shared_port_product.py new file mode 100644 index 00000000..0ec810bc --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_settings_shared_port_product.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_settings_shared_port_product import PortSettingsSharedPortProduct + +class TestPortSettingsSharedPortProduct(unittest.TestCase): + """PortSettingsSharedPortProduct unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortSettingsSharedPortProduct(self): + """Test PortSettingsSharedPortProduct""" + # inst = PortSettingsSharedPortProduct() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_sort_by.py b/equinix/services/fabricv4/test/test_port_sort_by.py new file mode 100644 index 00000000..655b615f --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_sort_by.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_sort_by import PortSortBy + +class TestPortSortBy(unittest.TestCase): + """PortSortBy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortSortBy(self): + """Test PortSortBy""" + # inst = PortSortBy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_sort_criteria.py b/equinix/services/fabricv4/test/test_port_sort_criteria.py new file mode 100644 index 00000000..7ec668f1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_sort_criteria.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_sort_criteria import PortSortCriteria + +class TestPortSortCriteria(unittest.TestCase): + """PortSortCriteria unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortSortCriteria: + """Test PortSortCriteria + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortSortCriteria` + """ + model = PortSortCriteria() + if include_optional: + return PortSortCriteria( + direction = 'DESC', + var_property = '/device/name' + ) + else: + return PortSortCriteria( + ) + """ + + def testPortSortCriteria(self): + """Test PortSortCriteria""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_sort_direction.py b/equinix/services/fabricv4/test/test_port_sort_direction.py new file mode 100644 index 00000000..034edbff --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_sort_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_sort_direction import PortSortDirection + +class TestPortSortDirection(unittest.TestCase): + """PortSortDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortSortDirection(self): + """Test PortSortDirection""" + # inst = PortSortDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_state.py b/equinix/services/fabricv4/test/test_port_state.py new file mode 100644 index 00000000..ea83fbcf --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_state import PortState + +class TestPortState(unittest.TestCase): + """PortState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortState(self): + """Test PortState""" + # inst = PortState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_tether.py b/equinix/services/fabricv4/test/test_port_tether.py new file mode 100644 index 00000000..b359daef --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_tether.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_tether import PortTether + +class TestPortTether(unittest.TestCase): + """PortTether unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortTether: + """Test PortTether + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortTether` + """ + model = PortTether() + if include_optional: + return PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '' + ) + else: + return PortTether( + ) + """ + + def testPortTether(self): + """Test PortTether""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_type.py b/equinix/services/fabricv4/test/test_port_type.py new file mode 100644 index 00000000..461ea9f8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_type import PortType + +class TestPortType(unittest.TestCase): + """PortType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPortType(self): + """Test PortType""" + # inst = PortType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_port_v4_search_request.py b/equinix/services/fabricv4/test/test_port_v4_search_request.py new file mode 100644 index 00000000..15e0d721 --- /dev/null +++ b/equinix/services/fabricv4/test/test_port_v4_search_request.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.port_v4_search_request import PortV4SearchRequest + +class TestPortV4SearchRequest(unittest.TestCase): + """PortV4SearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PortV4SearchRequest: + """Test PortV4SearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PortV4SearchRequest` + """ + model = PortV4SearchRequest() + if include_optional: + return PortV4SearchRequest( + filter = equinix.services.fabricv4.models.port_expression.PortExpression( + and = [ + equinix.services.fabricv4.models.port_expression.PortExpression( + or = [ + + ], + property = '/project/projectId', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '/project/projectId', + operator = '=', + values = [ + '' + ], ), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ), + sort = [ + equinix.services.fabricv4.models.port_sort_criteria.PortSortCriteria( + direction = 'DESC', + property = '/device/name', ) + ] + ) + else: + return PortV4SearchRequest( + ) + """ + + def testPortV4SearchRequest(self): + """Test PortV4SearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ports_api.py b/equinix/services/fabricv4/test/test_ports_api.py new file mode 100644 index 00000000..4daac26f --- /dev/null +++ b/equinix/services/fabricv4/test/test_ports_api.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.ports_api import PortsApi + + +class TestPortsApi(unittest.TestCase): + """PortsApi unit test stubs""" + + def setUp(self) -> None: + self.api = PortsApi() + + def tearDown(self) -> None: + pass + + def test_add_to_lag(self) -> None: + """Test case for add_to_lag + + Add to Lag + """ + pass + + def test_create_bulk_port(self) -> None: + """Test case for create_bulk_port + + Create Port + """ + pass + + def test_create_port(self) -> None: + """Test case for create_port + + Create Port + """ + pass + + def test_delete_port(self) -> None: + """Test case for delete_port + + Delete a single port + """ + pass + + def test_get_port_by_uuid(self) -> None: + """Test case for get_port_by_uuid + + Get Port by uuid + """ + pass + + def test_get_ports(self) -> None: + """Test case for get_ports + + Get All Ports + """ + pass + + def test_get_vlans(self) -> None: + """Test case for get_vlans + + Get Vlans + """ + pass + + def test_search_ports(self) -> None: + """Test case for search_ports + + Search ports + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_api.py b/equinix/services/fabricv4/test/test_precision_time_api.py new file mode 100644 index 00000000..18887f67 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_api.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.precision_time_api import PrecisionTimeApi + + +class TestPrecisionTimeApi(unittest.TestCase): + """PrecisionTimeApi unit test stubs""" + + def setUp(self) -> None: + self.api = PrecisionTimeApi() + + def tearDown(self) -> None: + pass + + def test_create_time_services(self) -> None: + """Test case for create_time_services + + Create Time Service + """ + pass + + def test_delete_time_service_by_id(self) -> None: + """Test case for delete_time_service_by_id + + Delete time service + """ + pass + + def test_get_time_services_by_id(self) -> None: + """Test case for get_time_services_by_id + + Get Time Service + """ + pass + + def test_get_time_services_connections_by_service_id(self) -> None: + """Test case for get_time_services_connections_by_service_id + + Get Connection Links + """ + pass + + def test_get_time_services_package_by_code(self) -> None: + """Test case for get_time_services_package_by_code + + Get Package By Code + """ + pass + + def test_get_time_services_packages(self) -> None: + """Test case for get_time_services_packages + + Get Packages + """ + pass + + def test_update_time_services_by_id(self) -> None: + """Test case for update_time_services_by_id + + Patch time service + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_change_operation.py b/equinix/services/fabricv4/test/test_precision_time_change_operation.py new file mode 100644 index 00000000..1a3098b8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_change_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_change_operation import PrecisionTimeChangeOperation + +class TestPrecisionTimeChangeOperation(unittest.TestCase): + """PrecisionTimeChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimeChangeOperation: + """Test PrecisionTimeChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimeChangeOperation` + """ + model = PrecisionTimeChangeOperation() + if include_optional: + return PrecisionTimeChangeOperation( + op = 'replace', + path = '/ipv4', + value = None + ) + else: + return PrecisionTimeChangeOperation( + op = 'replace', + path = '/ipv4', + value = None, + ) + """ + + def testPrecisionTimeChangeOperation(self): + """Test PrecisionTimeChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_change_operation_op.py b/equinix/services/fabricv4/test/test_precision_time_change_operation_op.py new file mode 100644 index 00000000..538ce40c --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_change_operation_op.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_change_operation_op import PrecisionTimeChangeOperationOp + +class TestPrecisionTimeChangeOperationOp(unittest.TestCase): + """PrecisionTimeChangeOperationOp unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPrecisionTimeChangeOperationOp(self): + """Test PrecisionTimeChangeOperationOp""" + # inst = PrecisionTimeChangeOperationOp() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_change_operation_path.py b/equinix/services/fabricv4/test/test_precision_time_change_operation_path.py new file mode 100644 index 00000000..68f74603 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_change_operation_path.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_change_operation_path import PrecisionTimeChangeOperationPath + +class TestPrecisionTimeChangeOperationPath(unittest.TestCase): + """PrecisionTimeChangeOperationPath unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPrecisionTimeChangeOperationPath(self): + """Test PrecisionTimeChangeOperationPath""" + # inst = PrecisionTimeChangeOperationPath() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_package_request.py b/equinix/services/fabricv4/test/test_precision_time_package_request.py new file mode 100644 index 00000000..88521ba3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_package_request.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_package_request import PrecisionTimePackageRequest + +class TestPrecisionTimePackageRequest(unittest.TestCase): + """PrecisionTimePackageRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimePackageRequest: + """Test PrecisionTimePackageRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimePackageRequest` + """ + model = PrecisionTimePackageRequest() + if include_optional: + return PrecisionTimePackageRequest( + href = '', + code = 'NTP_STANDARD' + ) + else: + return PrecisionTimePackageRequest( + code = 'NTP_STANDARD', + ) + """ + + def testPrecisionTimePackageRequest(self): + """Test PrecisionTimePackageRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_package_response.py b/equinix/services/fabricv4/test/test_precision_time_package_response.py new file mode 100644 index 00000000..7b99f422 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_package_response.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_package_response import PrecisionTimePackageResponse + +class TestPrecisionTimePackageResponse(unittest.TestCase): + """PrecisionTimePackageResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimePackageResponse: + """Test PrecisionTimePackageResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimePackageResponse` + """ + model = PrecisionTimePackageResponse() + if include_optional: + return PrecisionTimePackageResponse( + href = '', + code = 'NTP_STANDARD', + type = 'TIME_SERVICE_PACKAGE', + bandwidth = 10, + clients_per_second_max = 100, + redundancy_supported = True, + multi_subnet_supported = True, + accuracy_unit = 'microseconds', + accuracy_sla = 50, + accuracy_avg_min = 1, + accuracy_avg_max = 10, + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return PrecisionTimePackageResponse( + code = 'NTP_STANDARD', + ) + """ + + def testPrecisionTimePackageResponse(self): + """Test PrecisionTimePackageResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_package_response_type.py b/equinix/services/fabricv4/test/test_precision_time_package_response_type.py new file mode 100644 index 00000000..e9aa47c7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_package_response_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_package_response_type import PrecisionTimePackageResponseType + +class TestPrecisionTimePackageResponseType(unittest.TestCase): + """PrecisionTimePackageResponseType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPrecisionTimePackageResponseType(self): + """Test PrecisionTimePackageResponseType""" + # inst = PrecisionTimePackageResponseType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_connections_response.py b/equinix/services/fabricv4/test/test_precision_time_service_connections_response.py new file mode 100644 index 00000000..a8a6d4f6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_connections_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_connections_response import PrecisionTimeServiceConnectionsResponse + +class TestPrecisionTimeServiceConnectionsResponse(unittest.TestCase): + """PrecisionTimeServiceConnectionsResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimeServiceConnectionsResponse: + """Test PrecisionTimeServiceConnectionsResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimeServiceConnectionsResponse` + """ + model = PrecisionTimeServiceConnectionsResponse() + if include_optional: + return PrecisionTimeServiceConnectionsResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.connection_link.connectionLink( + href = 'https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections', + type = 'EVPL_VC', + uuid = '', ) + ] + ) + else: + return PrecisionTimeServiceConnectionsResponse( + ) + """ + + def testPrecisionTimeServiceConnectionsResponse(self): + """Test PrecisionTimeServiceConnectionsResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_create_response.py b/equinix/services/fabricv4/test/test_precision_time_service_create_response.py new file mode 100644 index 00000000..0029dbb7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_create_response.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_create_response import PrecisionTimeServiceCreateResponse + +class TestPrecisionTimeServiceCreateResponse(unittest.TestCase): + """PrecisionTimeServiceCreateResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimeServiceCreateResponse: + """Test PrecisionTimeServiceCreateResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimeServiceCreateResponse` + """ + model = PrecisionTimeServiceCreateResponse() + if include_optional: + return PrecisionTimeServiceCreateResponse( + type = 'NTP', + href = '', + uuid = '', + name = '', + description = '', + state = 'PROVISIONED', + package = {"href":"https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD","code":"NTP_STANDARD","type":"TIME_SERVICE_PACKAGE","bandwidth":10,"accuracyUnit":"microseconds","accuracySla":50,"accuracyAvgMin":1,"accuracyAvgMax":10,"clientsPerSecondMax":100,"redundancySupported":true,"multiSubnetSupported":true,"changeLog":{"createdDateTime":"2023-05-16T07:50:49.749Z","updatedDateTime":"2023-05-17T07:50:49.749Z"}}, + connections = [ + {"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f"} + ], + ipv4 = {"primary":"10.0.0.1","secondary":"10.0.0.2","networkMask":"255.255.255.240","defaultGateway":"10.0.0.3"}, + account = {"accountNumber":123456}, + advance_configuration = equinix.services.fabricv4.models.advance_configuration.advanceConfiguration( + ntp = [ + equinix.services.fabricv4.models.md5.md5( + type = 'ASCII', + id = '', + password = '', ) + ], + ptp = equinix.services.fabricv4.models.ptp_advance_configuration.ptpAdvanceConfiguration( + time_scale = 'ARB', + domain = 0, + priority1 = 0, + priority2 = 0, + log_announce_interval = 0, + log_sync_interval = 0, + log_delay_req_interval = 0, + transport_mode = 'Multicast', + grant_time = 300, ), ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ) + ) + else: + return PrecisionTimeServiceCreateResponse( + type = 'NTP', + href = '', + uuid = '', + state = 'PROVISIONED', + package = {"href":"https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD","code":"NTP_STANDARD","type":"TIME_SERVICE_PACKAGE","bandwidth":10,"accuracyUnit":"microseconds","accuracySla":50,"accuracyAvgMin":1,"accuracyAvgMax":10,"clientsPerSecondMax":100,"redundancySupported":true,"multiSubnetSupported":true,"changeLog":{"createdDateTime":"2023-05-16T07:50:49.749Z","updatedDateTime":"2023-05-17T07:50:49.749Z"}}, + ipv4 = {"primary":"10.0.0.1","secondary":"10.0.0.2","networkMask":"255.255.255.240","defaultGateway":"10.0.0.3"}, + ) + """ + + def testPrecisionTimeServiceCreateResponse(self): + """Test PrecisionTimeServiceCreateResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_create_response_state.py b/equinix/services/fabricv4/test/test_precision_time_service_create_response_state.py new file mode 100644 index 00000000..c8dbb65e --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_create_response_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_create_response_state import PrecisionTimeServiceCreateResponseState + +class TestPrecisionTimeServiceCreateResponseState(unittest.TestCase): + """PrecisionTimeServiceCreateResponseState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPrecisionTimeServiceCreateResponseState(self): + """Test PrecisionTimeServiceCreateResponseState""" + # inst = PrecisionTimeServiceCreateResponseState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_create_response_type.py b/equinix/services/fabricv4/test/test_precision_time_service_create_response_type.py new file mode 100644 index 00000000..5b6d1797 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_create_response_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_create_response_type import PrecisionTimeServiceCreateResponseType + +class TestPrecisionTimeServiceCreateResponseType(unittest.TestCase): + """PrecisionTimeServiceCreateResponseType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPrecisionTimeServiceCreateResponseType(self): + """Test PrecisionTimeServiceCreateResponseType""" + # inst = PrecisionTimeServiceCreateResponseType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_packages_response.py b/equinix/services/fabricv4/test/test_precision_time_service_packages_response.py new file mode 100644 index 00000000..89e89aff --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_packages_response.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_packages_response import PrecisionTimeServicePackagesResponse + +class TestPrecisionTimeServicePackagesResponse(unittest.TestCase): + """PrecisionTimeServicePackagesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimeServicePackagesResponse: + """Test PrecisionTimeServicePackagesResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimeServicePackagesResponse` + """ + model = PrecisionTimeServicePackagesResponse() + if include_optional: + return PrecisionTimeServicePackagesResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + {"href":"https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD","code":"NTP_STANDARD","type":"TIME_SERVICE_PACKAGE","bandwidth":10,"accuracyUnit":"microseconds","accuracySla":50,"accuracyAvgMin":1,"accuracyAvgMax":10,"clientsPerSecondMax":100,"redundancySupported":true,"multiSubnetSupported":true,"changeLog":{"createdDateTime":"2023-05-16T07:50:49.749Z","updatedDateTime":"2023-05-17T07:50:49.749Z"}} + ] + ) + else: + return PrecisionTimeServicePackagesResponse( + ) + """ + + def testPrecisionTimeServicePackagesResponse(self): + """Test PrecisionTimeServicePackagesResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_request.py b/equinix/services/fabricv4/test/test_precision_time_service_request.py new file mode 100644 index 00000000..bf924461 --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_request.py @@ -0,0 +1,85 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_request import PrecisionTimeServiceRequest + +class TestPrecisionTimeServiceRequest(unittest.TestCase): + """PrecisionTimeServiceRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PrecisionTimeServiceRequest: + """Test PrecisionTimeServiceRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PrecisionTimeServiceRequest` + """ + model = PrecisionTimeServiceRequest() + if include_optional: + return PrecisionTimeServiceRequest( + type = 'NTP', + name = '', + description = '', + package = {"code":"NTP_STANDARD"}, + connections = [ + {"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f"} + ], + ipv4 = {"primary":"10.0.0.1","secondary":"10.0.0.2","networkMask":"255.255.255.240","defaultGateway":"10.0.0.3"}, + advance_configuration = equinix.services.fabricv4.models.advance_configuration.advanceConfiguration( + ntp = [ + equinix.services.fabricv4.models.md5.md5( + type = 'ASCII', + id = '', + password = '', ) + ], + ptp = equinix.services.fabricv4.models.ptp_advance_configuration.ptpAdvanceConfiguration( + time_scale = 'ARB', + domain = 0, + priority1 = 0, + priority2 = 0, + log_announce_interval = 0, + log_sync_interval = 0, + log_delay_req_interval = 0, + transport_mode = 'Multicast', + grant_time = 300, ), ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ) + ) + else: + return PrecisionTimeServiceRequest( + type = 'NTP', + name = '', + package = {"code":"NTP_STANDARD"}, + connections = [ + {"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f"} + ], + ipv4 = {"primary":"10.0.0.1","secondary":"10.0.0.2","networkMask":"255.255.255.240","defaultGateway":"10.0.0.3"}, + ) + """ + + def testPrecisionTimeServiceRequest(self): + """Test PrecisionTimeServiceRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_precision_time_service_request_type.py b/equinix/services/fabricv4/test/test_precision_time_service_request_type.py new file mode 100644 index 00000000..ef002efb --- /dev/null +++ b/equinix/services/fabricv4/test/test_precision_time_service_request_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.precision_time_service_request_type import PrecisionTimeServiceRequestType + +class TestPrecisionTimeServiceRequestType(unittest.TestCase): + """PrecisionTimeServiceRequestType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPrecisionTimeServiceRequestType(self): + """Test PrecisionTimeServiceRequestType""" + # inst = PrecisionTimeServiceRequestType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_presence.py b/equinix/services/fabricv4/test/test_presence.py new file mode 100644 index 00000000..d65548f4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_presence.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.presence import Presence + +class TestPresence(unittest.TestCase): + """Presence unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPresence(self): + """Test Presence""" + # inst = Presence() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price.py b/equinix/services/fabricv4/test/test_price.py new file mode 100644 index 00000000..335d7beb --- /dev/null +++ b/equinix/services/fabricv4/test/test_price.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price import Price + +class TestPrice(unittest.TestCase): + """Price unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Price: + """Test Price + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Price` + """ + model = Price() + if include_optional: + return Price( + href = '', + type = 'VIRTUAL_CONNECTION_PRODUCT', + code = '', + name = '', + description = '', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + charges = [ + equinix.services.fabricv4.models.price_charge.PriceCharge( + type = 'MONTHLY_RECURRING', + price = 0, ) + ], + currency = '', + term_length = 12, + catgory = 'COUNTRY', + connection = equinix.services.fabricv4.models.virtual_connection_price.VirtualConnectionPrice( + uuid = '', + type = 'EVPL_VC', + bandwidth = 0, + a_side = equinix.services.fabricv4.models.virtual_connection_price_a_side.VirtualConnectionPriceASide( + access_point = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point.VirtualConnectionPriceASide_accessPoint( + uuid = '', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), ), ), + z_side = equinix.services.fabricv4.models.virtual_connection_price_z_side.VirtualConnectionPriceZSide(), ), + ip_block = equinix.services.fabricv4.models.ip_block_price.IpBlockPrice( + uuid = '', + type = 'IPv4', + prefix_length = 56, + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), ), + router = equinix.services.fabricv4.models.fabric_cloud_router_price.FabricCloudRouterPrice( + uuid = '', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + package = equinix.services.fabricv4.models.fabric_cloud_router_packages.FabricCloudRouterPackages( + code = 'LAB', ), ), + port = equinix.services.fabricv4.models.virtual_port_price.VirtualPortPrice( + uuid = '', + type = 'XF_PORT', + location = equinix.services.fabricv4.models.virtual_port_location.VirtualPortLocation( + ibx = '', ), + lag = equinix.services.fabricv4.models.link_aggregation_group.LinkAggregationGroup( + enabled = True, ), + physical_ports_quantity = 56, + bandwidth = 56, + redundancy = equinix.services.fabricv4.models.virtual_port_redundancy.VirtualPortRedundancy( + enabled = True, ), + connectivity_source = equinix.services.fabricv4.models.connectivity_source.ConnectivitySource(), + service_type = 'MSP', + settings = equinix.services.fabricv4.models.virtual_port_configuration.VirtualPortConfiguration( + buyout = True, ), ) + ) + else: + return Price( + ) + """ + + def testPrice(self): + """Test Price""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_category.py b/equinix/services/fabricv4/test/test_price_category.py new file mode 100644 index 00000000..50c2f778 --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_category.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_category import PriceCategory + +class TestPriceCategory(unittest.TestCase): + """PriceCategory unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPriceCategory(self): + """Test PriceCategory""" + # inst = PriceCategory() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_charge.py b/equinix/services/fabricv4/test/test_price_charge.py new file mode 100644 index 00000000..f254079b --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_charge.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_charge import PriceCharge + +class TestPriceCharge(unittest.TestCase): + """PriceCharge unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PriceCharge: + """Test PriceCharge + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PriceCharge` + """ + model = PriceCharge() + if include_optional: + return PriceCharge( + type = 'MONTHLY_RECURRING', + price = 0 + ) + else: + return PriceCharge( + ) + """ + + def testPriceCharge(self): + """Test PriceCharge""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_charge_type.py b/equinix/services/fabricv4/test/test_price_charge_type.py new file mode 100644 index 00000000..7f271937 --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_charge_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_charge_type import PriceChargeType + +class TestPriceChargeType(unittest.TestCase): + """PriceChargeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPriceChargeType(self): + """Test PriceChargeType""" + # inst = PriceChargeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_error.py b/equinix/services/fabricv4/test/test_price_error.py new file mode 100644 index 00000000..763e5abe --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_error.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_error import PriceError + +class TestPriceError(unittest.TestCase): + """PriceError unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PriceError: + """Test PriceError + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PriceError` + """ + model = PriceError() + if include_optional: + return PriceError( + error_code = 'EQ-3038010', + error_message = 'Validation failure', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ] + ) + else: + return PriceError( + error_code = 'EQ-3038010', + error_message = 'Validation failure', + ) + """ + + def testPriceError(self): + """Test PriceError""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_error_additional_info.py b/equinix/services/fabricv4/test/test_price_error_additional_info.py new file mode 100644 index 00000000..673e01bf --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_error_additional_info.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_error_additional_info import PriceErrorAdditionalInfo + +class TestPriceErrorAdditionalInfo(unittest.TestCase): + """PriceErrorAdditionalInfo unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PriceErrorAdditionalInfo: + """Test PriceErrorAdditionalInfo + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PriceErrorAdditionalInfo` + """ + model = PriceErrorAdditionalInfo() + if include_optional: + return PriceErrorAdditionalInfo( + var_property = '', + reason = '' + ) + else: + return PriceErrorAdditionalInfo( + ) + """ + + def testPriceErrorAdditionalInfo(self): + """Test PriceErrorAdditionalInfo""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_error_error_code.py b/equinix/services/fabricv4/test/test_price_error_error_code.py new file mode 100644 index 00000000..d0928261 --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_error_error_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_error_error_code import PriceErrorErrorCode + +class TestPriceErrorErrorCode(unittest.TestCase): + """PriceErrorErrorCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPriceErrorErrorCode(self): + """Test PriceErrorErrorCode""" + # inst = PriceErrorErrorCode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_error_error_message.py b/equinix/services/fabricv4/test/test_price_error_error_message.py new file mode 100644 index 00000000..cc985617 --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_error_error_message.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_error_error_message import PriceErrorErrorMessage + +class TestPriceErrorErrorMessage(unittest.TestCase): + """PriceErrorErrorMessage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPriceErrorErrorMessage(self): + """Test PriceErrorErrorMessage""" + # inst = PriceErrorErrorMessage() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_location.py b/equinix/services/fabricv4/test/test_price_location.py new file mode 100644 index 00000000..4cfbf32c --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_location.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_location import PriceLocation + +class TestPriceLocation(unittest.TestCase): + """PriceLocation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PriceLocation: + """Test PriceLocation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PriceLocation` + """ + model = PriceLocation() + if include_optional: + return PriceLocation( + metro_code = '' + ) + else: + return PriceLocation( + ) + """ + + def testPriceLocation(self): + """Test PriceLocation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_search_response.py b/equinix/services/fabricv4/test/test_price_search_response.py new file mode 100644 index 00000000..f24414f9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_search_response.py @@ -0,0 +1,114 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_search_response import PriceSearchResponse + +class TestPriceSearchResponse(unittest.TestCase): + """PriceSearchResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PriceSearchResponse: + """Test PriceSearchResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PriceSearchResponse` + """ + model = PriceSearchResponse() + if include_optional: + return PriceSearchResponse( + data = [ + equinix.services.fabricv4.models.price.Price( + href = '', + type = 'VIRTUAL_CONNECTION_PRODUCT', + code = '', + name = '', + description = '', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + charges = [ + equinix.services.fabricv4.models.price_charge.PriceCharge( + price = 0, ) + ], + currency = '', + term_length = 12, + catgory = 'COUNTRY', + connection = equinix.services.fabricv4.models.virtual_connection_price.VirtualConnectionPrice( + uuid = '', + bandwidth = 0, + a_side = equinix.services.fabricv4.models.virtual_connection_price_a_side.VirtualConnectionPriceASide( + access_point = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point.VirtualConnectionPriceASide_accessPoint( + uuid = '', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), ), ), + z_side = equinix.services.fabricv4.models.virtual_connection_price_z_side.VirtualConnectionPriceZSide(), ), + ip_block = equinix.services.fabricv4.models.ip_block_price.IpBlockPrice( + uuid = '', + prefix_length = 56, ), + router = equinix.services.fabricv4.models.fabric_cloud_router_price.FabricCloudRouterPrice( + uuid = '', + package = equinix.services.fabricv4.models.fabric_cloud_router_packages.FabricCloudRouterPackages( + code = 'LAB', ), ), + port = equinix.services.fabricv4.models.virtual_port_price.VirtualPortPrice( + uuid = '', + lag = equinix.services.fabricv4.models.link_aggregation_group.LinkAggregationGroup( + enabled = True, ), + physical_ports_quantity = 56, + bandwidth = 56, + redundancy = equinix.services.fabricv4.models.virtual_port_redundancy.VirtualPortRedundancy( + enabled = True, ), + connectivity_source = equinix.services.fabricv4.models.connectivity_source.ConnectivitySource(), + service_type = 'MSP', ), ) + ], + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ) + ) + else: + return PriceSearchResponse( + ) + """ + + def testPriceSearchResponse(self): + """Test PriceSearchResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_price_term_length.py b/equinix/services/fabricv4/test/test_price_term_length.py new file mode 100644 index 00000000..8d33e970 --- /dev/null +++ b/equinix/services/fabricv4/test/test_price_term_length.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.price_term_length import PriceTermLength + +class TestPriceTermLength(unittest.TestCase): + """PriceTermLength unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPriceTermLength(self): + """Test PriceTermLength""" + # inst = PriceTermLength() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_prices_api.py b/equinix/services/fabricv4/test/test_prices_api.py new file mode 100644 index 00000000..50c85984 --- /dev/null +++ b/equinix/services/fabricv4/test/test_prices_api.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.prices_api import PricesApi + + +class TestPricesApi(unittest.TestCase): + """PricesApi unit test stubs""" + + def setUp(self) -> None: + self.api = PricesApi() + + def tearDown(self) -> None: + pass + + def test_search_prices(self) -> None: + """Test case for search_prices + + Get Prices + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_process_step.py b/equinix/services/fabricv4/test/test_process_step.py new file mode 100644 index 00000000..945c0416 --- /dev/null +++ b/equinix/services/fabricv4/test/test_process_step.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.process_step import ProcessStep + +class TestProcessStep(unittest.TestCase): + """ProcessStep unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ProcessStep: + """Test ProcessStep + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ProcessStep` + """ + model = ProcessStep() + if include_optional: + return ProcessStep( + title = '', + sub_title = '', + description = '' + ) + else: + return ProcessStep( + ) + """ + + def testProcessStep(self): + """Test ProcessStep""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_product_type.py b/equinix/services/fabricv4/test/test_product_type.py new file mode 100644 index 00000000..9a3dccca --- /dev/null +++ b/equinix/services/fabricv4/test/test_product_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.product_type import ProductType + +class TestProductType(unittest.TestCase): + """ProductType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testProductType(self): + """Test ProductType""" + # inst = ProductType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_project.py b/equinix/services/fabricv4/test/test_project.py new file mode 100644 index 00000000..b758b075 --- /dev/null +++ b/equinix/services/fabricv4/test/test_project.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.project import Project + +class TestProject(unittest.TestCase): + """Project unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Project: + """Test Project + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Project` + """ + model = Project() + if include_optional: + return Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5' + ) + else: + return Project( + ) + """ + + def testProject(self): + """Test Project""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_provider_status.py b/equinix/services/fabricv4/test/test_provider_status.py new file mode 100644 index 00000000..2c61f157 --- /dev/null +++ b/equinix/services/fabricv4/test/test_provider_status.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.provider_status import ProviderStatus + +class TestProviderStatus(unittest.TestCase): + """ProviderStatus unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testProviderStatus(self): + """Test ProviderStatus""" + # inst = ProviderStatus() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ptp_advance_configuration.py b/equinix/services/fabricv4/test/test_ptp_advance_configuration.py new file mode 100644 index 00000000..810bb584 --- /dev/null +++ b/equinix/services/fabricv4/test/test_ptp_advance_configuration.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.ptp_advance_configuration import PtpAdvanceConfiguration + +class TestPtpAdvanceConfiguration(unittest.TestCase): + """PtpAdvanceConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> PtpAdvanceConfiguration: + """Test PtpAdvanceConfiguration + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `PtpAdvanceConfiguration` + """ + model = PtpAdvanceConfiguration() + if include_optional: + return PtpAdvanceConfiguration( + time_scale = 'ARB', + domain = 0, + priority1 = 0, + priority2 = 0, + log_announce_interval = 0, + log_sync_interval = 0, + log_delay_req_interval = 0, + transport_mode = 'Multicast', + grant_time = 300 + ) + else: + return PtpAdvanceConfiguration( + ) + """ + + def testPtpAdvanceConfiguration(self): + """Test PtpAdvanceConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ptp_advance_configuration_time_scale.py b/equinix/services/fabricv4/test/test_ptp_advance_configuration_time_scale.py new file mode 100644 index 00000000..a1127354 --- /dev/null +++ b/equinix/services/fabricv4/test/test_ptp_advance_configuration_time_scale.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.ptp_advance_configuration_time_scale import PtpAdvanceConfigurationTimeScale + +class TestPtpAdvanceConfigurationTimeScale(unittest.TestCase): + """PtpAdvanceConfigurationTimeScale unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPtpAdvanceConfigurationTimeScale(self): + """Test PtpAdvanceConfigurationTimeScale""" + # inst = PtpAdvanceConfigurationTimeScale() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_ptp_advance_configuration_transport_mode.py b/equinix/services/fabricv4/test/test_ptp_advance_configuration_transport_mode.py new file mode 100644 index 00000000..0aedb852 --- /dev/null +++ b/equinix/services/fabricv4/test/test_ptp_advance_configuration_transport_mode.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.ptp_advance_configuration_transport_mode import PtpAdvanceConfigurationTransportMode + +class TestPtpAdvanceConfigurationTransportMode(unittest.TestCase): + """PtpAdvanceConfigurationTransportMode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testPtpAdvanceConfigurationTransportMode(self): + """Test PtpAdvanceConfigurationTransportMode""" + # inst = PtpAdvanceConfigurationTransportMode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_query_direction.py b/equinix/services/fabricv4/test/test_query_direction.py new file mode 100644 index 00000000..0612332d --- /dev/null +++ b/equinix/services/fabricv4/test/test_query_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.query_direction import QueryDirection + +class TestQueryDirection(unittest.TestCase): + """QueryDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testQueryDirection(self): + """Test QueryDirection""" + # inst = QueryDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_remove_operation.py b/equinix/services/fabricv4/test/test_remove_operation.py new file mode 100644 index 00000000..96361b25 --- /dev/null +++ b/equinix/services/fabricv4/test/test_remove_operation.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.remove_operation import RemoveOperation + +class TestRemoveOperation(unittest.TestCase): + """RemoveOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RemoveOperation: + """Test RemoveOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RemoveOperation` + """ + model = RemoveOperation() + if include_optional: + return RemoveOperation( + op = 'add', + path = '' + ) + else: + return RemoveOperation( + op = 'add', + path = '', + ) + """ + + def testRemoveOperation(self): + """Test RemoveOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_replace_operation.py b/equinix/services/fabricv4/test/test_replace_operation.py new file mode 100644 index 00000000..d2723789 --- /dev/null +++ b/equinix/services/fabricv4/test/test_replace_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.replace_operation import ReplaceOperation + +class TestReplaceOperation(unittest.TestCase): + """ReplaceOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ReplaceOperation: + """Test ReplaceOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ReplaceOperation` + """ + model = ReplaceOperation() + if include_optional: + return ReplaceOperation( + op = 'add', + path = '', + value = equinix.services.fabricv4.models.value.value() + ) + else: + return ReplaceOperation( + op = 'add', + path = '', + value = equinix.services.fabricv4.models.value.value(), + ) + """ + + def testReplaceOperation(self): + """Test ReplaceOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_change_data.py b/equinix/services/fabricv4/test/test_route_filter_change_data.py new file mode 100644 index 00000000..2014dbfe --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_change_data.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_change_data import RouteFilterChangeData + +class TestRouteFilterChangeData(unittest.TestCase): + """RouteFilterChangeData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterChangeData: + """Test RouteFilterChangeData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterChangeData` + """ + model = RouteFilterChangeData() + if include_optional: + return RouteFilterChangeData( + status = 'COMPLETED', + created_by = '', + created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_by = '', + updated_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + information = '', + data = equinix.services.fabricv4.models.route_filters_change_operation.RouteFiltersChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filters_base.RouteFiltersBase( + type = 'BGP_IPv4_PREFIX_FILTER', + name = 'My-direct-route-1', + description = '', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), ), + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_UPDATE', + href = '' + ) + else: + return RouteFilterChangeData( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_UPDATE', + ) + """ + + def testRouteFilterChangeData(self): + """Test RouteFilterChangeData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_change_data_response.py b/equinix/services/fabricv4/test/test_route_filter_change_data_response.py new file mode 100644 index 00000000..3ea959ee --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_change_data_response.py @@ -0,0 +1,75 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_change_data_response import RouteFilterChangeDataResponse + +class TestRouteFilterChangeDataResponse(unittest.TestCase): + """RouteFilterChangeDataResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterChangeDataResponse: + """Test RouteFilterChangeDataResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterChangeDataResponse` + """ + model = RouteFilterChangeDataResponse() + if include_optional: + return RouteFilterChangeDataResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.route_filter_change_data.RouteFilterChangeData( + status = 'COMPLETED', + created_by = '', + created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_by = '', + updated_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + information = '', + data = equinix.services.fabricv4.models.route_filters_change_operation.RouteFiltersChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filters_base.RouteFiltersBase( + type = 'BGP_IPv4_PREFIX_FILTER', + name = 'My-direct-route-1', + description = '', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), ), ) + ] + ) + else: + return RouteFilterChangeDataResponse( + ) + """ + + def testRouteFilterChangeDataResponse(self): + """Test RouteFilterChangeDataResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_connections_data.py b/equinix/services/fabricv4/test/test_route_filter_connections_data.py new file mode 100644 index 00000000..c4fc000c --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_connections_data.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_connections_data import RouteFilterConnectionsData + +class TestRouteFilterConnectionsData(unittest.TestCase): + """RouteFilterConnectionsData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterConnectionsData: + """Test RouteFilterConnectionsData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterConnectionsData` + """ + model = RouteFilterConnectionsData() + if include_optional: + return RouteFilterConnectionsData( + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f', + type = 'EVPL_VC', + uuid = '695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + name = 'connection-1' + ) + else: + return RouteFilterConnectionsData( + ) + """ + + def testRouteFilterConnectionsData(self): + """Test RouteFilterConnectionsData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rule_state.py b/equinix/services/fabricv4/test/test_route_filter_rule_state.py new file mode 100644 index 00000000..b35c05e9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rule_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rule_state import RouteFilterRuleState + +class TestRouteFilterRuleState(unittest.TestCase): + """RouteFilterRuleState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFilterRuleState(self): + """Test RouteFilterRuleState""" + # inst = RouteFilterRuleState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_api.py b/equinix/services/fabricv4/test/test_route_filter_rules_api.py new file mode 100644 index 00000000..6e59c2f9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_api.py @@ -0,0 +1,95 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.route_filter_rules_api import RouteFilterRulesApi + + +class TestRouteFilterRulesApi(unittest.TestCase): + """RouteFilterRulesApi unit test stubs""" + + def setUp(self) -> None: + self.api = RouteFilterRulesApi() + + def tearDown(self) -> None: + pass + + def test_create_route_filter_rule(self) -> None: + """Test case for create_route_filter_rule + + Create RFRule + """ + pass + + def test_create_route_filter_rules_in_bulk(self) -> None: + """Test case for create_route_filter_rules_in_bulk + + Bulk RFRules + """ + pass + + def test_delete_route_filter_rule_by_uuid(self) -> None: + """Test case for delete_route_filter_rule_by_uuid + + DeleteRFRule + """ + pass + + def test_get_route_filter_rule_by_uuid(self) -> None: + """Test case for get_route_filter_rule_by_uuid + + GetRFRule By UUID + """ + pass + + def test_get_route_filter_rule_change_by_uuid(self) -> None: + """Test case for get_route_filter_rule_change_by_uuid + + Get Change By ID + """ + pass + + def test_get_route_filter_rule_changes(self) -> None: + """Test case for get_route_filter_rule_changes + + Get All Changes + """ + pass + + def test_get_route_filter_rules(self) -> None: + """Test case for get_route_filter_rules + + GetRFRules + """ + pass + + def test_patch_route_filter_rule_by_uuid(self) -> None: + """Test case for patch_route_filter_rule_by_uuid + + PatchRFilterRule + """ + pass + + def test_replace_route_filter_rule_by_uuid(self) -> None: + """Test case for replace_route_filter_rule_by_uuid + + ReplaceRFRule + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_base.py b/equinix/services/fabricv4/test/test_route_filter_rules_base.py new file mode 100644 index 00000000..fe774048 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_base.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_base import RouteFilterRulesBase + +class TestRouteFilterRulesBase(unittest.TestCase): + """RouteFilterRulesBase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesBase: + """Test RouteFilterRulesBase + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesBase` + """ + model = RouteFilterRulesBase() + if include_optional: + return RouteFilterRulesBase( + name = 'Private-subnet-filter', + description = '', + prefix = '192.168.0.0/24', + prefix_match = 'orlonger' + ) + else: + return RouteFilterRulesBase( + prefix = '192.168.0.0/24', + ) + """ + + def testRouteFilterRulesBase(self): + """Test RouteFilterRulesBase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_change.py b/equinix/services/fabricv4/test/test_route_filter_rules_change.py new file mode 100644 index 00000000..833d313c --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_change.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_change import RouteFilterRulesChange + +class TestRouteFilterRulesChange(unittest.TestCase): + """RouteFilterRulesChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesChange: + """Test RouteFilterRulesChange + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesChange` + """ + model = RouteFilterRulesChange() + if include_optional: + return RouteFilterRulesChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE', + href = '' + ) + else: + return RouteFilterRulesChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE', + ) + """ + + def testRouteFilterRulesChange(self): + """Test RouteFilterRulesChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_change_data.py b/equinix/services/fabricv4/test/test_route_filter_rules_change_data.py new file mode 100644 index 00000000..c6830c50 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_change_data.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_change_data import RouteFilterRulesChangeData + +class TestRouteFilterRulesChangeData(unittest.TestCase): + """RouteFilterRulesChangeData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesChangeData: + """Test RouteFilterRulesChangeData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesChangeData` + """ + model = RouteFilterRulesChangeData() + if include_optional: + return RouteFilterRulesChangeData( + status = 'COMPLETED', + created_by = '', + created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_by = '', + updated_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + data = equinix.services.fabricv4.models.route_filter_rules_change_operation.RouteFilterRulesChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filter_rules_base.RouteFilterRulesBase( + name = 'Private-subnet-filter', + description = '', + prefix = '192.168.0.0/24', + prefix_match = 'orlonger', ), ), + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE', + href = '' + ) + else: + return RouteFilterRulesChangeData( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE', + ) + """ + + def testRouteFilterRulesChangeData(self): + """Test RouteFilterRulesChangeData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_change_data_response.py b/equinix/services/fabricv4/test/test_route_filter_rules_change_data_response.py new file mode 100644 index 00000000..7d47240c --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_change_data_response.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_change_data_response import RouteFilterRulesChangeDataResponse + +class TestRouteFilterRulesChangeDataResponse(unittest.TestCase): + """RouteFilterRulesChangeDataResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesChangeDataResponse: + """Test RouteFilterRulesChangeDataResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesChangeDataResponse` + """ + model = RouteFilterRulesChangeDataResponse() + if include_optional: + return RouteFilterRulesChangeDataResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.route_filter_rules_change_data.RouteFilterRulesChangeData( + status = 'COMPLETED', + created_by = '', + created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_by = '', + updated_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + data = equinix.services.fabricv4.models.route_filter_rules_change_operation.RouteFilterRulesChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filter_rules_base.RouteFilterRulesBase( + name = 'Private-subnet-filter', + description = '', + prefix = '192.168.0.0/24', + prefix_match = 'orlonger', ), ), ) + ] + ) + else: + return RouteFilterRulesChangeDataResponse( + ) + """ + + def testRouteFilterRulesChangeDataResponse(self): + """Test RouteFilterRulesChangeDataResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_change_operation.py b/equinix/services/fabricv4/test/test_route_filter_rules_change_operation.py new file mode 100644 index 00000000..5f752ccf --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_change_operation.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_change_operation import RouteFilterRulesChangeOperation + +class TestRouteFilterRulesChangeOperation(unittest.TestCase): + """RouteFilterRulesChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesChangeOperation: + """Test RouteFilterRulesChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesChangeOperation` + """ + model = RouteFilterRulesChangeOperation() + if include_optional: + return RouteFilterRulesChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filter_rules_base.RouteFilterRulesBase( + name = 'Private-subnet-filter', + description = '', + prefix = '192.168.0.0/24', + prefix_match = 'orlonger', ) + ) + else: + return RouteFilterRulesChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filter_rules_base.RouteFilterRulesBase( + name = 'Private-subnet-filter', + description = '', + prefix = '192.168.0.0/24', + prefix_match = 'orlonger', ), + ) + """ + + def testRouteFilterRulesChangeOperation(self): + """Test RouteFilterRulesChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_change_type.py b/equinix/services/fabricv4/test/test_route_filter_rules_change_type.py new file mode 100644 index 00000000..c378510e --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_change_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_change_type import RouteFilterRulesChangeType + +class TestRouteFilterRulesChangeType(unittest.TestCase): + """RouteFilterRulesChangeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFilterRulesChangeType(self): + """Test RouteFilterRulesChangeType""" + # inst = RouteFilterRulesChangeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_data.py b/equinix/services/fabricv4/test/test_route_filter_rules_data.py new file mode 100644 index 00000000..8d8ae45c --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_data.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_data import RouteFilterRulesData + +class TestRouteFilterRulesData(unittest.TestCase): + """RouteFilterRulesData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesData: + """Test RouteFilterRulesData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesData` + """ + model = RouteFilterRulesData() + if include_optional: + return RouteFilterRulesData( + href = 'https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b', + type = 'BGP_IPv4_PREFIX_FILTER_RULE', + uuid = '65b025ef-022b-4180-85cf-82cfc1ab655b', + name = 'Private-subnet-filter-2', + description = '', + state = 'PROVISIONING', + prefix_match = 'orlonger', + change = equinix.services.fabricv4.models.route_filter_rules_change.RouteFilterRulesChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_RULE_UPDATE', + href = '', ), + action = 'PERMIT', + prefix = '192.168.0.0/24', + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return RouteFilterRulesData( + ) + """ + + def testRouteFilterRulesData(self): + """Test RouteFilterRulesData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_data_action.py b/equinix/services/fabricv4/test/test_route_filter_rules_data_action.py new file mode 100644 index 00000000..417643c5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_data_action.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_data_action import RouteFilterRulesDataAction + +class TestRouteFilterRulesDataAction(unittest.TestCase): + """RouteFilterRulesDataAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFilterRulesDataAction(self): + """Test RouteFilterRulesDataAction""" + # inst = RouteFilterRulesDataAction() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_data_type.py b/equinix/services/fabricv4/test/test_route_filter_rules_data_type.py new file mode 100644 index 00000000..e0ec1aa9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_data_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_data_type import RouteFilterRulesDataType + +class TestRouteFilterRulesDataType(unittest.TestCase): + """RouteFilterRulesDataType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFilterRulesDataType(self): + """Test RouteFilterRulesDataType""" + # inst = RouteFilterRulesDataType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_patch_request_item.py b/equinix/services/fabricv4/test/test_route_filter_rules_patch_request_item.py new file mode 100644 index 00000000..37a255b3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_patch_request_item.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_patch_request_item import RouteFilterRulesPatchRequestItem + +class TestRouteFilterRulesPatchRequestItem(unittest.TestCase): + """RouteFilterRulesPatchRequestItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesPatchRequestItem: + """Test RouteFilterRulesPatchRequestItem + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesPatchRequestItem` + """ + model = RouteFilterRulesPatchRequestItem() + if include_optional: + return RouteFilterRulesPatchRequestItem( + op = 'replace', + path = '/prefixMatch', + value = None + ) + else: + return RouteFilterRulesPatchRequestItem( + op = 'replace', + path = '/prefixMatch', + value = None, + ) + """ + + def testRouteFilterRulesPatchRequestItem(self): + """Test RouteFilterRulesPatchRequestItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_rules_post_request.py b/equinix/services/fabricv4/test/test_route_filter_rules_post_request.py new file mode 100644 index 00000000..ed9affd3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_rules_post_request.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_rules_post_request import RouteFilterRulesPostRequest + +class TestRouteFilterRulesPostRequest(unittest.TestCase): + """RouteFilterRulesPostRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFilterRulesPostRequest: + """Test RouteFilterRulesPostRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFilterRulesPostRequest` + """ + model = RouteFilterRulesPostRequest() + if include_optional: + return RouteFilterRulesPostRequest( + data = [ + equinix.services.fabricv4.models.route_filter_rules_base.RouteFilterRulesBase( + name = 'Private-subnet-filter', + description = '', + prefix = '192.168.0.0/24', + prefix_match = 'orlonger', ) + ] + ) + else: + return RouteFilterRulesPostRequest( + ) + """ + + def testRouteFilterRulesPostRequest(self): + """Test RouteFilterRulesPostRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filter_state.py b/equinix/services/fabricv4/test/test_route_filter_state.py new file mode 100644 index 00000000..7b842bdf --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filter_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filter_state import RouteFilterState + +class TestRouteFilterState(unittest.TestCase): + """RouteFilterState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFilterState(self): + """Test RouteFilterState""" + # inst = RouteFilterState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_api.py b/equinix/services/fabricv4/test/test_route_filters_api.py new file mode 100644 index 00000000..9e231612 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_api.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.route_filters_api import RouteFiltersApi + + +class TestRouteFiltersApi(unittest.TestCase): + """RouteFiltersApi unit test stubs""" + + def setUp(self) -> None: + self.api = RouteFiltersApi() + + def tearDown(self) -> None: + pass + + def test_attach_connection_route_filter(self) -> None: + """Test case for attach_connection_route_filter + + Attach Route Filter + """ + pass + + def test_create_route_filter(self) -> None: + """Test case for create_route_filter + + Create Route Filters + """ + pass + + def test_delete_route_filter_by_uuid(self) -> None: + """Test case for delete_route_filter_by_uuid + + Delete Route Filter + """ + pass + + def test_detach_connection_route_filter(self) -> None: + """Test case for detach_connection_route_filter + + Detach Route Filter + """ + pass + + def test_get_connection_route_filter_by_uuid(self) -> None: + """Test case for get_connection_route_filter_by_uuid + + Get Route Filter + """ + pass + + def test_get_connection_route_filters(self) -> None: + """Test case for get_connection_route_filters + + Get All RouteFilters + """ + pass + + def test_get_route_filter_by_uuid(self) -> None: + """Test case for get_route_filter_by_uuid + + Get Filter By UUID + """ + pass + + def test_get_route_filter_change_by_uuid(self) -> None: + """Test case for get_route_filter_change_by_uuid + + Get Change By ID + """ + pass + + def test_get_route_filter_changes(self) -> None: + """Test case for get_route_filter_changes + + Get All Changes + """ + pass + + def test_get_route_filter_connections(self) -> None: + """Test case for get_route_filter_connections + + Get Connections + """ + pass + + def test_patch_route_filter_by_uuid(self) -> None: + """Test case for patch_route_filter_by_uuid + + Patch Route Filter + """ + pass + + def test_search_route_filters(self) -> None: + """Test case for search_route_filters + + Search Route Filters + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_base.py b/equinix/services/fabricv4/test/test_route_filters_base.py new file mode 100644 index 00000000..42df2ab8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_base.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_base import RouteFiltersBase + +class TestRouteFiltersBase(unittest.TestCase): + """RouteFiltersBase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersBase: + """Test RouteFiltersBase + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersBase` + """ + model = RouteFiltersBase() + if include_optional: + return RouteFiltersBase( + type = 'BGP_IPv4_PREFIX_FILTER', + name = 'My-direct-route-1', + description = '', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ) + ) + else: + return RouteFiltersBase( + type = 'BGP_IPv4_PREFIX_FILTER', + name = 'My-direct-route-1', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + ) + """ + + def testRouteFiltersBase(self): + """Test RouteFiltersBase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_change.py b/equinix/services/fabricv4/test/test_route_filters_change.py new file mode 100644 index 00000000..18fa1358 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_change.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_change import RouteFiltersChange + +class TestRouteFiltersChange(unittest.TestCase): + """RouteFiltersChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersChange: + """Test RouteFiltersChange + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersChange` + """ + model = RouteFiltersChange() + if include_optional: + return RouteFiltersChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_UPDATE', + href = '' + ) + else: + return RouteFiltersChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_UPDATE', + ) + """ + + def testRouteFiltersChange(self): + """Test RouteFiltersChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_change_operation.py b/equinix/services/fabricv4/test/test_route_filters_change_operation.py new file mode 100644 index 00000000..8859493d --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_change_operation.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_change_operation import RouteFiltersChangeOperation + +class TestRouteFiltersChangeOperation(unittest.TestCase): + """RouteFiltersChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersChangeOperation: + """Test RouteFiltersChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersChangeOperation` + """ + model = RouteFiltersChangeOperation() + if include_optional: + return RouteFiltersChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filters_base.RouteFiltersBase( + type = 'BGP_IPv4_PREFIX_FILTER', + name = 'My-direct-route-1', + description = '', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ) + ) + else: + return RouteFiltersChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.route_filters_base.RouteFiltersBase( + type = 'BGP_IPv4_PREFIX_FILTER', + name = 'My-direct-route-1', + description = '', + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ), + ) + """ + + def testRouteFiltersChangeOperation(self): + """Test RouteFiltersChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_change_type.py b/equinix/services/fabricv4/test/test_route_filters_change_type.py new file mode 100644 index 00000000..ff5e2f57 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_change_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_change_type import RouteFiltersChangeType + +class TestRouteFiltersChangeType(unittest.TestCase): + """RouteFiltersChangeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFiltersChangeType(self): + """Test RouteFiltersChangeType""" + # inst = RouteFiltersChangeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_data.py b/equinix/services/fabricv4/test/test_route_filters_data.py new file mode 100644 index 00000000..3bd0f3cf --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_data.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_data import RouteFiltersData + +class TestRouteFiltersData(unittest.TestCase): + """RouteFiltersData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersData: + """Test RouteFiltersData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersData` + """ + model = RouteFiltersData() + if include_optional: + return RouteFiltersData( + href = 'https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + type = 'BGP_IPv4_PREFIX_FILTER', + uuid = '695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + name = 'My-direct-route-1', + description = '', + state = 'PROVISIONING', + change = equinix.services.fabricv4.models.route_filters_change.RouteFiltersChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_UPDATE', + href = '', ), + not_matched_rule_action = 'ALLOW', + connections_count = 0, + rules_count = 0, + project = equinix.services.fabricv4.models.route_filters_data_project.RouteFiltersData_project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', + href = 'https://api.equinix.com/resourceManager/v1/projects/567', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return RouteFiltersData( + ) + """ + + def testRouteFiltersData(self): + """Test RouteFiltersData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_data_not_matched_rule_action.py b/equinix/services/fabricv4/test/test_route_filters_data_not_matched_rule_action.py new file mode 100644 index 00000000..40e16499 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_data_not_matched_rule_action.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_data_not_matched_rule_action import RouteFiltersDataNotMatchedRuleAction + +class TestRouteFiltersDataNotMatchedRuleAction(unittest.TestCase): + """RouteFiltersDataNotMatchedRuleAction unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFiltersDataNotMatchedRuleAction(self): + """Test RouteFiltersDataNotMatchedRuleAction""" + # inst = RouteFiltersDataNotMatchedRuleAction() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_data_project.py b/equinix/services/fabricv4/test/test_route_filters_data_project.py new file mode 100644 index 00000000..58208f46 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_data_project.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_data_project import RouteFiltersDataProject + +class TestRouteFiltersDataProject(unittest.TestCase): + """RouteFiltersDataProject unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersDataProject: + """Test RouteFiltersDataProject + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersDataProject` + """ + model = RouteFiltersDataProject() + if include_optional: + return RouteFiltersDataProject( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', + href = 'https://api.equinix.com/resourceManager/v1/projects/567' + ) + else: + return RouteFiltersDataProject( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', + ) + """ + + def testRouteFiltersDataProject(self): + """Test RouteFiltersDataProject""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_patch_request_item.py b/equinix/services/fabricv4/test/test_route_filters_patch_request_item.py new file mode 100644 index 00000000..e7764b14 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_patch_request_item.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_patch_request_item import RouteFiltersPatchRequestItem + +class TestRouteFiltersPatchRequestItem(unittest.TestCase): + """RouteFiltersPatchRequestItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersPatchRequestItem: + """Test RouteFiltersPatchRequestItem + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersPatchRequestItem` + """ + model = RouteFiltersPatchRequestItem() + if include_optional: + return RouteFiltersPatchRequestItem( + op = 'replace', + path = '/name', + value = None + ) + else: + return RouteFiltersPatchRequestItem( + op = 'replace', + path = '/name', + value = None, + ) + """ + + def testRouteFiltersPatchRequestItem(self): + """Test RouteFiltersPatchRequestItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_search_base.py b/equinix/services/fabricv4/test/test_route_filters_search_base.py new file mode 100644 index 00000000..acdb71c3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_search_base.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_search_base import RouteFiltersSearchBase + +class TestRouteFiltersSearchBase(unittest.TestCase): + """RouteFiltersSearchBase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersSearchBase: + """Test RouteFiltersSearchBase + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersSearchBase` + """ + model = RouteFiltersSearchBase() + if include_optional: + return RouteFiltersSearchBase( + filter = equinix.services.fabricv4.models.route_filters_search_base_filter.RouteFiltersSearchBase_filter( + and = [ + equinix.services.fabricv4.models.route_filters_search_filter_item.RouteFiltersSearchFilterItem( + property = '/type', + operator = '', + values = [ + '' + ], ) + ], ), + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + sort = [ + equinix.services.fabricv4.models.sort_item.SortItem( + property = '/changeLog/updatedDateTime', + direction = 'DESC', ) + ] + ) + else: + return RouteFiltersSearchBase( + ) + """ + + def testRouteFiltersSearchBase(self): + """Test RouteFiltersSearchBase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_search_base_filter.py b/equinix/services/fabricv4/test/test_route_filters_search_base_filter.py new file mode 100644 index 00000000..7cb61102 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_search_base_filter.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_search_base_filter import RouteFiltersSearchBaseFilter + +class TestRouteFiltersSearchBaseFilter(unittest.TestCase): + """RouteFiltersSearchBaseFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersSearchBaseFilter: + """Test RouteFiltersSearchBaseFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersSearchBaseFilter` + """ + model = RouteFiltersSearchBaseFilter() + if include_optional: + return RouteFiltersSearchBaseFilter( + var_and = [ + equinix.services.fabricv4.models.route_filters_search_filter_item.RouteFiltersSearchFilterItem( + property = '/type', + operator = '', + values = [ + '' + ], ) + ] + ) + else: + return RouteFiltersSearchBaseFilter( + ) + """ + + def testRouteFiltersSearchBaseFilter(self): + """Test RouteFiltersSearchBaseFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_search_filter_item.py b/equinix/services/fabricv4/test/test_route_filters_search_filter_item.py new file mode 100644 index 00000000..d2e09781 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_search_filter_item.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_search_filter_item import RouteFiltersSearchFilterItem + +class TestRouteFiltersSearchFilterItem(unittest.TestCase): + """RouteFiltersSearchFilterItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersSearchFilterItem: + """Test RouteFiltersSearchFilterItem + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersSearchFilterItem` + """ + model = RouteFiltersSearchFilterItem() + if include_optional: + return RouteFiltersSearchFilterItem( + var_property = '/type', + operator = '', + values = [ + '' + ] + ) + else: + return RouteFiltersSearchFilterItem( + ) + """ + + def testRouteFiltersSearchFilterItem(self): + """Test RouteFiltersSearchFilterItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_search_filter_item_property.py b/equinix/services/fabricv4/test/test_route_filters_search_filter_item_property.py new file mode 100644 index 00000000..aa093c6d --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_search_filter_item_property.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_search_filter_item_property import RouteFiltersSearchFilterItemProperty + +class TestRouteFiltersSearchFilterItemProperty(unittest.TestCase): + """RouteFiltersSearchFilterItemProperty unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteFiltersSearchFilterItemProperty(self): + """Test RouteFiltersSearchFilterItemProperty""" + # inst = RouteFiltersSearchFilterItemProperty() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_filters_search_response.py b/equinix/services/fabricv4/test/test_route_filters_search_response.py new file mode 100644 index 00000000..4239e2a5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_filters_search_response.py @@ -0,0 +1,89 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_filters_search_response import RouteFiltersSearchResponse + +class TestRouteFiltersSearchResponse(unittest.TestCase): + """RouteFiltersSearchResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteFiltersSearchResponse: + """Test RouteFiltersSearchResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteFiltersSearchResponse` + """ + model = RouteFiltersSearchResponse() + if include_optional: + return RouteFiltersSearchResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.route_filters_data.RouteFiltersData( + href = 'https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + type = 'BGP_IPv4_PREFIX_FILTER', + uuid = '695a8471-6595-4ac6-a2f4-b3d96ed3a59d', + name = 'My-direct-route-1', + description = '', + state = 'PROVISIONING', + change = equinix.services.fabricv4.models.route_filters_change.RouteFiltersChange( + uuid = '', + type = 'BGP_IPv4_PREFIX_FILTER_UPDATE', + href = '', ), + not_matched_rule_action = 'ALLOW', + connections_count = 0, + rules_count = 0, + project = equinix.services.fabricv4.models.route_filters_data_project.RouteFiltersData_project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', + href = 'https://api.equinix.com/resourceManager/v1/projects/567', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), ) + ] + ) + else: + return RouteFiltersSearchResponse( + ) + """ + + def testRouteFiltersSearchResponse(self): + """Test RouteFiltersSearchResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry.py b/equinix/services/fabricv4/test/test_route_table_entry.py new file mode 100644 index 00000000..0c0dd650 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry.py @@ -0,0 +1,93 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry import RouteTableEntry + +class TestRouteTableEntry(unittest.TestCase): + """RouteTableEntry unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntry: + """Test RouteTableEntry + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntry` + """ + model = RouteTableEntry() + if include_optional: + return RouteTableEntry( + type = 'IPv4_BGP_ROUTE', + protocol_type = 'BGP', + state = 'ACTIVE', + age = 'PT5M30S', + prefix = '192.168.10.0/24', + next_hop = '10.10.10.5', + metric = 5, + local_preference = 200, + as_path = [ + 56 + ], + connection = equinix.services.fabricv4.models.route_table_entry_connection.RouteTableEntry_connection( + uuid = '81331c52-04c0-4656-a4a7-18c52669348f', + name = 'connection_1', ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return RouteTableEntry( + type = 'IPv4_BGP_ROUTE', + state = 'ACTIVE', + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + ) + """ + + def testRouteTableEntry(self): + """Test RouteTableEntry""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_connection.py b/equinix/services/fabricv4/test/test_route_table_entry_connection.py new file mode 100644 index 00000000..87c36483 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_connection.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_connection import RouteTableEntryConnection + +class TestRouteTableEntryConnection(unittest.TestCase): + """RouteTableEntryConnection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntryConnection: + """Test RouteTableEntryConnection + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntryConnection` + """ + model = RouteTableEntryConnection() + if include_optional: + return RouteTableEntryConnection( + uuid = '81331c52-04c0-4656-a4a7-18c52669348f', + name = 'connection_1' + ) + else: + return RouteTableEntryConnection( + ) + """ + + def testRouteTableEntryConnection(self): + """Test RouteTableEntryConnection""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_filter.py b/equinix/services/fabricv4/test/test_route_table_entry_filter.py new file mode 100644 index 00000000..17aeaaa6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_filter.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_filter import RouteTableEntryFilter + +class TestRouteTableEntryFilter(unittest.TestCase): + """RouteTableEntryFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntryFilter: + """Test RouteTableEntryFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntryFilter` + """ + model = RouteTableEntryFilter() + if include_optional: + return RouteTableEntryFilter( + var_property = '/type', + operator = '=', + values = [ + 'IPv4_BGP_ROUTE' + ], + var_or = [ + equinix.services.fabricv4.models.route_table_entry_simple_expression.RouteTableEntrySimpleExpression( + property = '/type', + operator = '=', + values = [ + 'IPv4_BGP_ROUTE' + ], ) + ] + ) + else: + return RouteTableEntryFilter( + ) + """ + + def testRouteTableEntryFilter(self): + """Test RouteTableEntryFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_filters.py b/equinix/services/fabricv4/test/test_route_table_entry_filters.py new file mode 100644 index 00000000..7fb00193 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_filters.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_filters import RouteTableEntryFilters + +class TestRouteTableEntryFilters(unittest.TestCase): + """RouteTableEntryFilters unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntryFilters: + """Test RouteTableEntryFilters + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntryFilters` + """ + model = RouteTableEntryFilters() + if include_optional: + return RouteTableEntryFilters( + var_and = [ + equinix.services.fabricv4.models.route_table_entry_filter.RouteTableEntryFilter() + ] + ) + else: + return RouteTableEntryFilters( + ) + """ + + def testRouteTableEntryFilters(self): + """Test RouteTableEntryFilters""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_or_filter.py b/equinix/services/fabricv4/test/test_route_table_entry_or_filter.py new file mode 100644 index 00000000..a6c4e95f --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_or_filter.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_or_filter import RouteTableEntryOrFilter + +class TestRouteTableEntryOrFilter(unittest.TestCase): + """RouteTableEntryOrFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntryOrFilter: + """Test RouteTableEntryOrFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntryOrFilter` + """ + model = RouteTableEntryOrFilter() + if include_optional: + return RouteTableEntryOrFilter( + var_or = [ + equinix.services.fabricv4.models.route_table_entry_simple_expression.RouteTableEntrySimpleExpression( + property = '/type', + operator = '=', + values = [ + 'IPv4_BGP_ROUTE' + ], ) + ] + ) + else: + return RouteTableEntryOrFilter( + ) + """ + + def testRouteTableEntryOrFilter(self): + """Test RouteTableEntryOrFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_protocol_type.py b/equinix/services/fabricv4/test/test_route_table_entry_protocol_type.py new file mode 100644 index 00000000..d2930460 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_protocol_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_protocol_type import RouteTableEntryProtocolType + +class TestRouteTableEntryProtocolType(unittest.TestCase): + """RouteTableEntryProtocolType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteTableEntryProtocolType(self): + """Test RouteTableEntryProtocolType""" + # inst = RouteTableEntryProtocolType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_search_request.py b/equinix/services/fabricv4/test/test_route_table_entry_search_request.py new file mode 100644 index 00000000..004379bb --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_search_request.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_search_request import RouteTableEntrySearchRequest + +class TestRouteTableEntrySearchRequest(unittest.TestCase): + """RouteTableEntrySearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntrySearchRequest: + """Test RouteTableEntrySearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntrySearchRequest` + """ + model = RouteTableEntrySearchRequest() + if include_optional: + return RouteTableEntrySearchRequest( + filter = equinix.services.fabricv4.models.route_table_entry_filters.RouteTableEntryFilters( + and = [ + equinix.services.fabricv4.models.route_table_entry_filter.RouteTableEntryFilter() + ], ), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ), + sort = [ + equinix.services.fabricv4.models.route_table_entry_sort_criteria.RouteTableEntrySortCriteria( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ] + ) + else: + return RouteTableEntrySearchRequest( + ) + """ + + def testRouteTableEntrySearchRequest(self): + """Test RouteTableEntrySearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_search_response.py b/equinix/services/fabricv4/test/test_route_table_entry_search_response.py new file mode 100644 index 00000000..8cb25f7e --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_search_response.py @@ -0,0 +1,87 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_search_response import RouteTableEntrySearchResponse + +class TestRouteTableEntrySearchResponse(unittest.TestCase): + """RouteTableEntrySearchResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntrySearchResponse: + """Test RouteTableEntrySearchResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntrySearchResponse` + """ + model = RouteTableEntrySearchResponse() + if include_optional: + return RouteTableEntrySearchResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.route_table_entry.RouteTableEntry( + type = 'IPv4_BGP_ROUTE', + protocol_type = 'BGP', + state = 'ACTIVE', + age = 'PT5M30S', + prefix = '192.168.10.0/24', + next_hop = '10.10.10.5', + metric = 5, + local_preference = 200, + as_path = [ + 56 + ], + connection = equinix.services.fabricv4.models.route_table_entry_connection.RouteTableEntry_connection( + uuid = '81331c52-04c0-4656-a4a7-18c52669348f', + name = 'connection_1', ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), ) + ] + ) + else: + return RouteTableEntrySearchResponse( + ) + """ + + def testRouteTableEntrySearchResponse(self): + """Test RouteTableEntrySearchResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_simple_expression.py b/equinix/services/fabricv4/test/test_route_table_entry_simple_expression.py new file mode 100644 index 00000000..9797ab7b --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_simple_expression.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_simple_expression import RouteTableEntrySimpleExpression + +class TestRouteTableEntrySimpleExpression(unittest.TestCase): + """RouteTableEntrySimpleExpression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntrySimpleExpression: + """Test RouteTableEntrySimpleExpression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntrySimpleExpression` + """ + model = RouteTableEntrySimpleExpression() + if include_optional: + return RouteTableEntrySimpleExpression( + var_property = '/type', + operator = '=', + values = [ + 'IPv4_BGP_ROUTE' + ] + ) + else: + return RouteTableEntrySimpleExpression( + ) + """ + + def testRouteTableEntrySimpleExpression(self): + """Test RouteTableEntrySimpleExpression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_sort_by.py b/equinix/services/fabricv4/test/test_route_table_entry_sort_by.py new file mode 100644 index 00000000..7abf3a16 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_sort_by.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_sort_by import RouteTableEntrySortBy + +class TestRouteTableEntrySortBy(unittest.TestCase): + """RouteTableEntrySortBy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteTableEntrySortBy(self): + """Test RouteTableEntrySortBy""" + # inst = RouteTableEntrySortBy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_sort_criteria.py b/equinix/services/fabricv4/test/test_route_table_entry_sort_criteria.py new file mode 100644 index 00000000..e74877c1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_sort_criteria.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_sort_criteria import RouteTableEntrySortCriteria + +class TestRouteTableEntrySortCriteria(unittest.TestCase): + """RouteTableEntrySortCriteria unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RouteTableEntrySortCriteria: + """Test RouteTableEntrySortCriteria + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RouteTableEntrySortCriteria` + """ + model = RouteTableEntrySortCriteria() + if include_optional: + return RouteTableEntrySortCriteria( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return RouteTableEntrySortCriteria( + ) + """ + + def testRouteTableEntrySortCriteria(self): + """Test RouteTableEntrySortCriteria""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_sort_direction.py b/equinix/services/fabricv4/test/test_route_table_entry_sort_direction.py new file mode 100644 index 00000000..5e917c50 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_sort_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_sort_direction import RouteTableEntrySortDirection + +class TestRouteTableEntrySortDirection(unittest.TestCase): + """RouteTableEntrySortDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteTableEntrySortDirection(self): + """Test RouteTableEntrySortDirection""" + # inst = RouteTableEntrySortDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_state.py b/equinix/services/fabricv4/test/test_route_table_entry_state.py new file mode 100644 index 00000000..0adb7e33 --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_state import RouteTableEntryState + +class TestRouteTableEntryState(unittest.TestCase): + """RouteTableEntryState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteTableEntryState(self): + """Test RouteTableEntryState""" + # inst = RouteTableEntryState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_route_table_entry_type.py b/equinix/services/fabricv4/test/test_route_table_entry_type.py new file mode 100644 index 00000000..816b2bbf --- /dev/null +++ b/equinix/services/fabricv4/test/test_route_table_entry_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.route_table_entry_type import RouteTableEntryType + +class TestRouteTableEntryType(unittest.TestCase): + """RouteTableEntryType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouteTableEntryType(self): + """Test RouteTableEntryType""" + # inst = RouteTableEntryType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_router_package_code.py b/equinix/services/fabricv4/test/test_router_package_code.py new file mode 100644 index 00000000..71ab0a38 --- /dev/null +++ b/equinix/services/fabricv4/test/test_router_package_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.router_package_code import RouterPackageCode + +class TestRouterPackageCode(unittest.TestCase): + """RouterPackageCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRouterPackageCode(self): + """Test RouterPackageCode""" + # inst = RouterPackageCode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_base.py b/equinix/services/fabricv4/test/test_routing_protocol_base.py new file mode 100644 index 00000000..e5d2c6f9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_base.py @@ -0,0 +1,79 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_base import RoutingProtocolBase + +class TestRoutingProtocolBase(unittest.TestCase): + """RoutingProtocolBase unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolBase: + """Test RoutingProtocolBase + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolBase` + """ + model = RoutingProtocolBase() + if include_optional: + return RoutingProtocolBase( + type = 'BGP', + name = 'My-direct-route-1', + bgp_ipv4 = equinix.services.fabricv4.models.bgp_connection_ipv4.BGPConnectionIpv4( + customer_peer_ip = '10.1.1.2', + equinix_peer_ip = '10.1.1.3', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + bgp_ipv6 = equinix.services.fabricv4.models.bgp_connection_ipv6.BGPConnectionIpv6( + customer_peer_ip = '2001:db8:c59b::1', + equinix_peer_ip = '2001:db8:c59b::1', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + customer_asn = 56, + equinix_asn = 56, + bgp_auth_key = '', + bfd = equinix.services.fabricv4.models.routing_protocol_bfd.RoutingProtocolBFD( + enabled = True, + interval = '100', ), + direct_ipv4 = equinix.services.fabricv4.models.direct_connection_ipv4.DirectConnectionIpv4( + equinix_iface_ip = '192.168.100.0/30', ), + direct_ipv6 = equinix.services.fabricv4.models.direct_connection_ipv6.DirectConnectionIpv6( + equinix_iface_ip = '2001:db8:c59b::/1', ) + ) + else: + return RoutingProtocolBase( + ) + """ + + def testRoutingProtocolBase(self): + """Test RoutingProtocolBase""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_bfd.py b/equinix/services/fabricv4/test/test_routing_protocol_bfd.py new file mode 100644 index 00000000..2aed5dc6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_bfd.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_bfd import RoutingProtocolBFD + +class TestRoutingProtocolBFD(unittest.TestCase): + """RoutingProtocolBFD unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolBFD: + """Test RoutingProtocolBFD + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolBFD` + """ + model = RoutingProtocolBFD() + if include_optional: + return RoutingProtocolBFD( + enabled = True, + interval = '100' + ) + else: + return RoutingProtocolBFD( + enabled = True, + ) + """ + + def testRoutingProtocolBFD(self): + """Test RoutingProtocolBFD""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_bgp_data.py b/equinix/services/fabricv4/test/test_routing_protocol_bgp_data.py new file mode 100644 index 00000000..0dde68a7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_bgp_data.py @@ -0,0 +1,109 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_bgp_data import RoutingProtocolBGPData + +class TestRoutingProtocolBGPData(unittest.TestCase): + """RoutingProtocolBGPData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolBGPData: + """Test RoutingProtocolBGPData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolBGPData` + """ + model = RoutingProtocolBGPData() + if include_optional: + return RoutingProtocolBGPData( + type = 'BGP', + name = 'My-BGP-route-1', + bgp_ipv4 = equinix.services.fabricv4.models.bgp_connection_ipv4.BGPConnectionIpv4( + customer_peer_ip = '10.1.1.2', + equinix_peer_ip = '10.1.1.3', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + bgp_ipv6 = equinix.services.fabricv4.models.bgp_connection_ipv6.BGPConnectionIpv6( + customer_peer_ip = '2001:db8:c59b::1', + equinix_peer_ip = '2001:db8:c59b::1', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + customer_asn = 65002, + equinix_asn = 65002, + bgp_auth_key = 'testAuthKey', + bfd = equinix.services.fabricv4.models.routing_protocol_bfd.RoutingProtocolBFD( + enabled = True, + interval = '100', ), + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + state = 'PROVISIONED', + operation = equinix.services.fabricv4.models.routing_protocol_operation.RoutingProtocolOperation( + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], ), + change = equinix.services.fabricv4.models.routing_protocol_change.RoutingProtocolChange( + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + href = '', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return RoutingProtocolBGPData( + ) + """ + + def testRoutingProtocolBGPData(self): + """Test RoutingProtocolBGPData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_bgp_data_state.py b/equinix/services/fabricv4/test/test_routing_protocol_bgp_data_state.py new file mode 100644 index 00000000..06487074 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_bgp_data_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_bgp_data_state import RoutingProtocolBGPDataState + +class TestRoutingProtocolBGPDataState(unittest.TestCase): + """RoutingProtocolBGPDataState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRoutingProtocolBGPDataState(self): + """Test RoutingProtocolBGPDataState""" + # inst = RoutingProtocolBGPDataState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_bgp_type.py b/equinix/services/fabricv4/test/test_routing_protocol_bgp_type.py new file mode 100644 index 00000000..e7982bdb --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_bgp_type.py @@ -0,0 +1,76 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_bgp_type import RoutingProtocolBGPType + +class TestRoutingProtocolBGPType(unittest.TestCase): + """RoutingProtocolBGPType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolBGPType: + """Test RoutingProtocolBGPType + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolBGPType` + """ + model = RoutingProtocolBGPType() + if include_optional: + return RoutingProtocolBGPType( + type = 'BGP', + name = 'My-BGP-route-1', + bgp_ipv4 = equinix.services.fabricv4.models.bgp_connection_ipv4.BGPConnectionIpv4( + customer_peer_ip = '10.1.1.2', + equinix_peer_ip = '10.1.1.3', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + bgp_ipv6 = equinix.services.fabricv4.models.bgp_connection_ipv6.BGPConnectionIpv6( + customer_peer_ip = '2001:db8:c59b::1', + equinix_peer_ip = '2001:db8:c59b::1', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + customer_asn = 56, + equinix_asn = 56, + bgp_auth_key = '', + bfd = equinix.services.fabricv4.models.routing_protocol_bfd.RoutingProtocolBFD( + enabled = True, + interval = '100', ) + ) + else: + return RoutingProtocolBGPType( + type = 'BGP', + ) + """ + + def testRoutingProtocolBGPType(self): + """Test RoutingProtocolBGPType""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_bgp_type_type.py b/equinix/services/fabricv4/test/test_routing_protocol_bgp_type_type.py new file mode 100644 index 00000000..31ef9c63 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_bgp_type_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_bgp_type_type import RoutingProtocolBGPTypeType + +class TestRoutingProtocolBGPTypeType(unittest.TestCase): + """RoutingProtocolBGPTypeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRoutingProtocolBGPTypeType(self): + """Test RoutingProtocolBGPTypeType""" + # inst = RoutingProtocolBGPTypeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_change.py b/equinix/services/fabricv4/test/test_routing_protocol_change.py new file mode 100644 index 00000000..4644c81f --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_change.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_change import RoutingProtocolChange + +class TestRoutingProtocolChange(unittest.TestCase): + """RoutingProtocolChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolChange: + """Test RoutingProtocolChange + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolChange` + """ + model = RoutingProtocolChange() + if include_optional: + return RoutingProtocolChange( + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + href = '' + ) + else: + return RoutingProtocolChange( + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + ) + """ + + def testRoutingProtocolChange(self): + """Test RoutingProtocolChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_change_data.py b/equinix/services/fabricv4/test/test_routing_protocol_change_data.py new file mode 100644 index 00000000..1406708e --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_change_data.py @@ -0,0 +1,67 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_change_data import RoutingProtocolChangeData + +class TestRoutingProtocolChangeData(unittest.TestCase): + """RoutingProtocolChangeData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolChangeData: + """Test RoutingProtocolChangeData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolChangeData` + """ + model = RoutingProtocolChangeData() + if include_optional: + return RoutingProtocolChangeData( + status = 'COMPLETED', + created_by = '', + created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_by = '', + updated_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + information = '', + data = equinix.services.fabricv4.models.routing_protocol_change_operation.RoutingProtocolChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.routing_protocol_base.RoutingProtocolBase( + type = 'BGP', ), ), + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + href = '' + ) + else: + return RoutingProtocolChangeData( + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + ) + """ + + def testRoutingProtocolChangeData(self): + """Test RoutingProtocolChangeData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_change_data_response.py b/equinix/services/fabricv4/test/test_routing_protocol_change_data_response.py new file mode 100644 index 00000000..6f377cbb --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_change_data_response.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_change_data_response import RoutingProtocolChangeDataResponse + +class TestRoutingProtocolChangeDataResponse(unittest.TestCase): + """RoutingProtocolChangeDataResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolChangeDataResponse: + """Test RoutingProtocolChangeDataResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolChangeDataResponse` + """ + model = RoutingProtocolChangeDataResponse() + if include_optional: + return RoutingProtocolChangeDataResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.routing_protocol_change_data.RoutingProtocolChangeData( + status = 'COMPLETED', + created_by = '', + created_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + updated_by = '', + updated_date_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'), + information = '', + data = equinix.services.fabricv4.models.routing_protocol_change_operation.RoutingProtocolChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.routing_protocol_base.RoutingProtocolBase( + type = 'BGP', ), ), ) + ] + ) + else: + return RoutingProtocolChangeDataResponse( + ) + """ + + def testRoutingProtocolChangeDataResponse(self): + """Test RoutingProtocolChangeDataResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_change_operation.py b/equinix/services/fabricv4/test/test_routing_protocol_change_operation.py new file mode 100644 index 00000000..a57966a4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_change_operation.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_change_operation import RoutingProtocolChangeOperation + +class TestRoutingProtocolChangeOperation(unittest.TestCase): + """RoutingProtocolChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolChangeOperation: + """Test RoutingProtocolChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolChangeOperation` + """ + model = RoutingProtocolChangeOperation() + if include_optional: + return RoutingProtocolChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.routing_protocol_base.RoutingProtocolBase( + type = 'BGP', ) + ) + else: + return RoutingProtocolChangeOperation( + op = 'add', + path = '/', + value = equinix.services.fabricv4.models.routing_protocol_base.RoutingProtocolBase( + type = 'BGP', ), + ) + """ + + def testRoutingProtocolChangeOperation(self): + """Test RoutingProtocolChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_change_operation_op.py b/equinix/services/fabricv4/test/test_routing_protocol_change_operation_op.py new file mode 100644 index 00000000..f9252436 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_change_operation_op.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_change_operation_op import RoutingProtocolChangeOperationOp + +class TestRoutingProtocolChangeOperationOp(unittest.TestCase): + """RoutingProtocolChangeOperationOp unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRoutingProtocolChangeOperationOp(self): + """Test RoutingProtocolChangeOperationOp""" + # inst = RoutingProtocolChangeOperationOp() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_change_type.py b/equinix/services/fabricv4/test/test_routing_protocol_change_type.py new file mode 100644 index 00000000..b3a390fe --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_change_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_change_type import RoutingProtocolChangeType + +class TestRoutingProtocolChangeType(unittest.TestCase): + """RoutingProtocolChangeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRoutingProtocolChangeType(self): + """Test RoutingProtocolChangeType""" + # inst = RoutingProtocolChangeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_data.py b/equinix/services/fabricv4/test/test_routing_protocol_data.py new file mode 100644 index 00000000..66c836b7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_data.py @@ -0,0 +1,113 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_data import RoutingProtocolData + +class TestRoutingProtocolData(unittest.TestCase): + """RoutingProtocolData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolData: + """Test RoutingProtocolData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolData` + """ + model = RoutingProtocolData() + if include_optional: + return RoutingProtocolData( + type = 'BGP', + name = 'My-direct-route-1', + bgp_ipv4 = equinix.services.fabricv4.models.bgp_connection_ipv4.BGPConnectionIpv4( + customer_peer_ip = '10.1.1.2', + equinix_peer_ip = '10.1.1.3', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + bgp_ipv6 = equinix.services.fabricv4.models.bgp_connection_ipv6.BGPConnectionIpv6( + customer_peer_ip = '2001:db8:c59b::1', + equinix_peer_ip = '2001:db8:c59b::1', + enabled = True, + outbound_as_prepend_count = 3, + operation = equinix.services.fabricv4.models.bgp_connection_operation.BGPConnectionOperation( + operational_status = 'UP', + op_status_changed_at = '2021-10-30T07:21:39Z', ), ), + customer_asn = 65002, + equinix_asn = 65002, + bgp_auth_key = 'testAuthKey', + bfd = equinix.services.fabricv4.models.routing_protocol_bfd.RoutingProtocolBFD( + enabled = True, + interval = '100', ), + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + state = 'PROVISIONED', + operation = equinix.services.fabricv4.models.routing_protocol_operation.RoutingProtocolOperation( + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], ), + change = equinix.services.fabricv4.models.routing_protocol_change.RoutingProtocolChange( + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + href = '', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + direct_ipv4 = equinix.services.fabricv4.models.direct_connection_ipv4.DirectConnectionIpv4( + equinix_iface_ip = '192.168.100.0/30', ), + direct_ipv6 = equinix.services.fabricv4.models.direct_connection_ipv6.DirectConnectionIpv6( + equinix_iface_ip = '2001:db8:c59b::/1', ) + ) + else: + return RoutingProtocolData( + ) + """ + + def testRoutingProtocolData(self): + """Test RoutingProtocolData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_direct_data.py b/equinix/services/fabricv4/test/test_routing_protocol_direct_data.py new file mode 100644 index 00000000..2bd529a9 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_direct_data.py @@ -0,0 +1,91 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_direct_data import RoutingProtocolDirectData + +class TestRoutingProtocolDirectData(unittest.TestCase): + """RoutingProtocolDirectData unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolDirectData: + """Test RoutingProtocolDirectData + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolDirectData` + """ + model = RoutingProtocolDirectData() + if include_optional: + return RoutingProtocolDirectData( + type = 'DIRECT', + name = 'My-direct-route-1', + direct_ipv4 = equinix.services.fabricv4.models.direct_connection_ipv4.DirectConnectionIpv4( + equinix_iface_ip = '192.168.100.0/30', ), + direct_ipv6 = equinix.services.fabricv4.models.direct_connection_ipv6.DirectConnectionIpv6( + equinix_iface_ip = '2001:db8:c59b::/1', ), + href = 'https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + state = 'PROVISIONED', + operation = equinix.services.fabricv4.models.routing_protocol_operation.RoutingProtocolOperation( + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ], ), + change = equinix.services.fabricv4.models.routing_protocol_change.RoutingProtocolChange( + uuid = '', + type = 'ROUTING_PROTOCOL_UPDATE', + href = '', ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ) + ) + else: + return RoutingProtocolDirectData( + ) + """ + + def testRoutingProtocolDirectData(self): + """Test RoutingProtocolDirectData""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_direct_type.py b/equinix/services/fabricv4/test/test_routing_protocol_direct_type.py new file mode 100644 index 00000000..51beb2a6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_direct_type.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_direct_type import RoutingProtocolDirectType + +class TestRoutingProtocolDirectType(unittest.TestCase): + """RoutingProtocolDirectType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolDirectType: + """Test RoutingProtocolDirectType + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolDirectType` + """ + model = RoutingProtocolDirectType() + if include_optional: + return RoutingProtocolDirectType( + type = 'DIRECT', + name = 'My-direct-route-1', + direct_ipv4 = equinix.services.fabricv4.models.direct_connection_ipv4.DirectConnectionIpv4( + equinix_iface_ip = '192.168.100.0/30', ), + direct_ipv6 = equinix.services.fabricv4.models.direct_connection_ipv6.DirectConnectionIpv6( + equinix_iface_ip = '2001:db8:c59b::/1', ) + ) + else: + return RoutingProtocolDirectType( + type = 'DIRECT', + ) + """ + + def testRoutingProtocolDirectType(self): + """Test RoutingProtocolDirectType""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_direct_type_type.py b/equinix/services/fabricv4/test/test_routing_protocol_direct_type_type.py new file mode 100644 index 00000000..fb4e42dc --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_direct_type_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_direct_type_type import RoutingProtocolDirectTypeType + +class TestRoutingProtocolDirectTypeType(unittest.TestCase): + """RoutingProtocolDirectTypeType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testRoutingProtocolDirectTypeType(self): + """Test RoutingProtocolDirectTypeType""" + # inst = RoutingProtocolDirectTypeType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocol_operation.py b/equinix/services/fabricv4/test/test_routing_protocol_operation.py new file mode 100644 index 00000000..754f83b3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocol_operation.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.routing_protocol_operation import RoutingProtocolOperation + +class TestRoutingProtocolOperation(unittest.TestCase): + """RoutingProtocolOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> RoutingProtocolOperation: + """Test RoutingProtocolOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `RoutingProtocolOperation` + """ + model = RoutingProtocolOperation() + if include_optional: + return RoutingProtocolOperation( + errors = [ + equinix.services.fabricv4.models.error.Error( + error_code = 'EQ-0480728', + error_message = '', + correlation_id = '', + details = '', + help = '', + additional_info = [ + equinix.services.fabricv4.models.price_error_additional_info.PriceError_additionalInfo( + property = '', + reason = '', ) + ], ) + ] + ) + else: + return RoutingProtocolOperation( + ) + """ + + def testRoutingProtocolOperation(self): + """Test RoutingProtocolOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_routing_protocols_api.py b/equinix/services/fabricv4/test/test_routing_protocols_api.py new file mode 100644 index 00000000..f630e310 --- /dev/null +++ b/equinix/services/fabricv4/test/test_routing_protocols_api.py @@ -0,0 +1,123 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.routing_protocols_api import RoutingProtocolsApi + + +class TestRoutingProtocolsApi(unittest.TestCase): + """RoutingProtocolsApi unit test stubs""" + + def setUp(self) -> None: + self.api = RoutingProtocolsApi() + + def tearDown(self) -> None: + pass + + def test_create_connection_routing_protocol(self) -> None: + """Test case for create_connection_routing_protocol + + Create Protocol + """ + pass + + def test_create_connection_routing_protocols_in_bulk(self) -> None: + """Test case for create_connection_routing_protocols_in_bulk + + Bulk Create Protocol + """ + pass + + def test_delete_connection_routing_protocol_by_uuid(self) -> None: + """Test case for delete_connection_routing_protocol_by_uuid + + Delete Protocol + """ + pass + + def test_get_connection_routing_protocol_all_bgp_actions(self) -> None: + """Test case for get_connection_routing_protocol_all_bgp_actions + + Get BGP Actions + """ + pass + + def test_get_connection_routing_protocol_by_uuid(self) -> None: + """Test case for get_connection_routing_protocol_by_uuid + + Get Protocol + """ + pass + + def test_get_connection_routing_protocols(self) -> None: + """Test case for get_connection_routing_protocols + + GetRoutingProtocols + """ + pass + + def test_get_connection_routing_protocols_bgp_action_by_uuid(self) -> None: + """Test case for get_connection_routing_protocols_bgp_action_by_uuid + + Get BGP Action + """ + pass + + def test_get_connection_routing_protocols_change_by_uuid(self) -> None: + """Test case for get_connection_routing_protocols_change_by_uuid + + Get Change By ID + """ + pass + + def test_get_connection_routing_protocols_changes(self) -> None: + """Test case for get_connection_routing_protocols_changes + + Get Changes + """ + pass + + def test_patch_connection_routing_protocol_by_uuid(self) -> None: + """Test case for patch_connection_routing_protocol_by_uuid + + Patch Protocol + """ + pass + + def test_post_connection_routing_protocol_bgp_action_by_uuid(self) -> None: + """Test case for post_connection_routing_protocol_bgp_action_by_uuid + + Clear/Reset BGP + """ + pass + + def test_replace_connection_routing_protocol_by_uuid(self) -> None: + """Test case for replace_connection_routing_protocol_by_uuid + + Replace Protocol + """ + pass + + def test_validate_routing_protocol(self) -> None: + """Test case for validate_routing_protocol + + Validate Subnet + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_search_expression.py b/equinix/services/fabricv4/test/test_search_expression.py new file mode 100644 index 00000000..b5b47ab0 --- /dev/null +++ b/equinix/services/fabricv4/test/test_search_expression.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.search_expression import SearchExpression + +class TestSearchExpression(unittest.TestCase): + """SearchExpression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SearchExpression: + """Test SearchExpression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SearchExpression` + """ + model = SearchExpression() + if include_optional: + return SearchExpression( + var_and = [ + equinix.services.fabricv4.models.search_expression.SearchExpression( + and = [ + equinix.services.fabricv4.models.search_expression.SearchExpression( + and = , + or = , + property = '', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '', + operator = '=', + values = [ + '' + ], ) + ], + var_or = [ + equinix.services.fabricv4.models.search_expression.SearchExpression( + and = [ + equinix.services.fabricv4.models.search_expression.SearchExpression( + and = , + or = , + property = '', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '', + operator = '=', + values = [ + '' + ], ) + ], + var_property = '', + operator = '=', + values = [ + '' + ] + ) + else: + return SearchExpression( + ) + """ + + def testSearchExpression(self): + """Test SearchExpression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_search_field_name.py b/equinix/services/fabricv4/test/test_search_field_name.py new file mode 100644 index 00000000..d344f99d --- /dev/null +++ b/equinix/services/fabricv4/test/test_search_field_name.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.search_field_name import SearchFieldName + +class TestSearchFieldName(unittest.TestCase): + """SearchFieldName unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSearchFieldName(self): + """Test SearchFieldName""" + # inst = SearchFieldName() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_search_request.py b/equinix/services/fabricv4/test/test_search_request.py new file mode 100644 index 00000000..eb5bb517 --- /dev/null +++ b/equinix/services/fabricv4/test/test_search_request.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.search_request import SearchRequest + +class TestSearchRequest(unittest.TestCase): + """SearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SearchRequest: + """Test SearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SearchRequest` + """ + model = SearchRequest() + if include_optional: + return SearchRequest( + filter = equinix.services.fabricv4.models.expression.Expression( + and = [ + equinix.services.fabricv4.models.expression.Expression( + or = [ + + ], + property = '/isRemote', + operator = '=', + values = [ + '' + ], ) + ], + or = , + property = '/isRemote', + operator = '=', + values = [ + '' + ], ), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ), + sort = [ + equinix.services.fabricv4.models.sort_criteria.SortCriteria( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ] + ) + else: + return SearchRequest( + ) + """ + + def testSearchRequest(self): + """Test SearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_search_response.py b/equinix/services/fabricv4/test/test_search_response.py new file mode 100644 index 00000000..a2a98df6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_search_response.py @@ -0,0 +1,94 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.search_response import SearchResponse + +class TestSearchResponse(unittest.TestCase): + """SearchResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SearchResponse: + """Test SearchResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SearchResponse` + """ + model = SearchResponse() + if include_optional: + return SearchResponse( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.cloud_router.CloudRouter( + href = 'https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + uuid = 'c9b8e7a2-f3b1-4576-a4a9-1366a63df170', + name = 'test-fg-1', + state = 'PROVISIONED', + equinix_asn = 30000, + bgp_ipv4_routes_count = 0, + bgp_ipv6_routes_count = 0, + connections_count = 0, + distinct_ipv4_prefixes_count = 0, + distinct_ipv6_prefixes_count = 0, + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + change = equinix.services.fabricv4.models.cloud_router_change.CloudRouterChange( + uuid = '', + type = 'ROUTER_UPDATE', + status = 'COMPLETED', + created_date_time = '2020-11-06T07:00Z', + updated_date_time = '2020-11-06T07:00Z', + information = '', + data = equinix.services.fabricv4.models.cloud_router_change_operation.CloudRouterChangeOperation( + op = 'replace', + path = '', + value = null, ), ), ) + ] + ) + else: + return SearchResponse( + ) + """ + + def testSearchResponse(self): + """Test SearchResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_metro.py b/equinix/services/fabricv4/test/test_service_metro.py new file mode 100644 index 00000000..20c4bb90 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_metro.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_metro import ServiceMetro + +class TestServiceMetro(unittest.TestCase): + """ServiceMetro unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceMetro: + """Test ServiceMetro + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceMetro` + """ + model = ServiceMetro() + if include_optional: + return ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + } + ) + else: + return ServiceMetro( + ) + """ + + def testServiceMetro(self): + """Test ServiceMetro""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_metros.py b/equinix/services/fabricv4/test/test_service_metros.py new file mode 100644 index 00000000..f2a1be5e --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_metros.py @@ -0,0 +1,71 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_metros import ServiceMetros + +class TestServiceMetros(unittest.TestCase): + """ServiceMetros unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceMetros: + """Test ServiceMetros + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceMetros` + """ + model = ServiceMetros() + if include_optional: + return ServiceMetros( + data = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ) + ) + else: + return ServiceMetros( + ) + """ + + def testServiceMetros(self): + """Test ServiceMetros""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile.py b/equinix/services/fabricv4/test/test_service_profile.py new file mode 100644 index 00000000..93b08ba2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile import ServiceProfile + +class TestServiceProfile(unittest.TestCase): + """ServiceProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfile: + """Test ServiceProfile + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfile` + """ + model = ServiceProfile() + if include_optional: + return ServiceProfile( + state = 'ACTIVE', + account = None, + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + change_log = None, + href = '', + type = 'L2_PROFILE', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '' + ) + else: + return ServiceProfile( + ) + """ + + def testServiceProfile(self): + """Test ServiceProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_colo.py b/equinix/services/fabricv4/test/test_service_profile_access_point_colo.py new file mode 100644 index 00000000..5964653d --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_colo.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_colo import ServiceProfileAccessPointCOLO + +class TestServiceProfileAccessPointCOLO(unittest.TestCase): + """ServiceProfileAccessPointCOLO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileAccessPointCOLO: + """Test ServiceProfileAccessPointCOLO + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileAccessPointCOLO` + """ + model = ServiceProfileAccessPointCOLO() + if include_optional: + return ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + seller_region = '', + seller_region_description = '', + cross_connect_id = '' + ) + else: + return ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + ) + """ + + def testServiceProfileAccessPointCOLO(self): + """Test ServiceProfileAccessPointCOLO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_colo_type.py b/equinix/services/fabricv4/test/test_service_profile_access_point_colo_type.py new file mode 100644 index 00000000..74882c68 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_colo_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_colo_type import ServiceProfileAccessPointCOLOType + +class TestServiceProfileAccessPointCOLOType(unittest.TestCase): + """ServiceProfileAccessPointCOLOType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileAccessPointCOLOType(self): + """Test ServiceProfileAccessPointCOLOType""" + # inst = ServiceProfileAccessPointCOLOType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_type.py b/equinix/services/fabricv4/test/test_service_profile_access_point_type.py new file mode 100644 index 00000000..3132bd5b --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_type.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_type import ServiceProfileAccessPointType + +class TestServiceProfileAccessPointType(unittest.TestCase): + """ServiceProfileAccessPointType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileAccessPointType: + """Test ServiceProfileAccessPointType + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileAccessPointType` + """ + model = ServiceProfileAccessPointType() + if include_optional: + return ServiceProfileAccessPointType( + uuid = '', + type = 'VD', + supported_bandwidths = [ + 50 + ], + allow_remote_connections = True, + allow_custom_bandwidth = True, + bandwidth_alert_threshold = 1.337, + allow_bandwidth_auto_approval = True, + allow_bandwidth_upgrade = True, + link_protocol_config = equinix.services.fabricv4.models.service_profile_link_protocol_config.ServiceProfileLinkProtocolConfig( + encapsulation_strategy = 'CTAGED', + named_tags = [ + '' + ], + vlan_c_tag_label = '', + reuse_vlan_s_tag = True, + encapsulation = 'QINQ', ), + enable_auto_generate_service_key = True, + connection_redundancy_required = True, + api_config = equinix.services.fabricv4.models.api_config.ApiConfig( + api_available = True, + integration_id = '', + equinix_managed_port = True, + equinix_managed_vlan = True, + allow_over_subscription = False, + over_subscription_limit = 1, + bandwidth_from_api = True, ), + connection_label = '', + authentication_key = equinix.services.fabricv4.models.authentication_key.AuthenticationKey( + required = True, + label = 'Service Key', + description = 'description for the authentication key', ), + metadata = equinix.services.fabricv4.models.service_profile_metadata.ServiceProfileMetadata( + props = '', + reg_ex = '', + reg_ex_msg = '', + vlan_range_max_value = 56, + vlan_range_min_value = 56, + max_qinq = '', + max_dot1q = 56, + variable_billing = True, + global_organization = '', + limit_auth_key_conn = True, + allow_secondary_location = True, + redundant_profile_id = '', + allow_vc_migration = True, + connection_editable = True, + release_vlan = True, + max_connections_on_port = 56, + port_assignment_strategy = '', + eqx_managed_port = True, + connection_name_editable = True, ) + ) + else: + return ServiceProfileAccessPointType( + type = 'VD', + ) + """ + + def testServiceProfileAccessPointType(self): + """Test ServiceProfileAccessPointType""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_type_colo.py b/equinix/services/fabricv4/test/test_service_profile_access_point_type_colo.py new file mode 100644 index 00000000..e2f8c8e8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_type_colo.py @@ -0,0 +1,105 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_type_colo import ServiceProfileAccessPointTypeCOLO + +class TestServiceProfileAccessPointTypeCOLO(unittest.TestCase): + """ServiceProfileAccessPointTypeCOLO unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileAccessPointTypeCOLO: + """Test ServiceProfileAccessPointTypeCOLO + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileAccessPointTypeCOLO` + """ + model = ServiceProfileAccessPointTypeCOLO() + if include_optional: + return ServiceProfileAccessPointTypeCOLO( + uuid = '', + type = 'VD', + supported_bandwidths = [ + 50 + ], + allow_remote_connections = True, + allow_custom_bandwidth = True, + bandwidth_alert_threshold = 1.337, + allow_bandwidth_auto_approval = True, + allow_bandwidth_upgrade = True, + link_protocol_config = equinix.services.fabricv4.models.service_profile_link_protocol_config.ServiceProfileLinkProtocolConfig( + encapsulation_strategy = 'CTAGED', + named_tags = [ + '' + ], + vlan_c_tag_label = '', + reuse_vlan_s_tag = True, + encapsulation = 'QINQ', ), + enable_auto_generate_service_key = True, + connection_redundancy_required = True, + api_config = equinix.services.fabricv4.models.api_config.ApiConfig( + api_available = True, + integration_id = '', + equinix_managed_port = True, + equinix_managed_vlan = True, + allow_over_subscription = False, + over_subscription_limit = 1, + bandwidth_from_api = True, ), + connection_label = '', + authentication_key = equinix.services.fabricv4.models.authentication_key.AuthenticationKey( + required = True, + label = 'Service Key', + description = 'description for the authentication key', ), + metadata = equinix.services.fabricv4.models.service_profile_metadata.ServiceProfileMetadata( + props = '', + reg_ex = '', + reg_ex_msg = '', + vlan_range_max_value = 56, + vlan_range_min_value = 56, + max_qinq = '', + max_dot1q = 56, + variable_billing = True, + global_organization = '', + limit_auth_key_conn = True, + allow_secondary_location = True, + redundant_profile_id = '', + allow_vc_migration = True, + connection_editable = True, + release_vlan = True, + max_connections_on_port = 56, + port_assignment_strategy = '', + eqx_managed_port = True, + connection_name_editable = True, ) + ) + else: + return ServiceProfileAccessPointTypeCOLO( + type = 'VD', + ) + """ + + def testServiceProfileAccessPointTypeCOLO(self): + """Test ServiceProfileAccessPointTypeCOLO""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_type_enum.py b/equinix/services/fabricv4/test/test_service_profile_access_point_type_enum.py new file mode 100644 index 00000000..4ea8431e --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_type_enum.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_type_enum import ServiceProfileAccessPointTypeEnum + +class TestServiceProfileAccessPointTypeEnum(unittest.TestCase): + """ServiceProfileAccessPointTypeEnum unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileAccessPointTypeEnum(self): + """Test ServiceProfileAccessPointTypeEnum""" + # inst = ServiceProfileAccessPointTypeEnum() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_type_vd.py b/equinix/services/fabricv4/test/test_service_profile_access_point_type_vd.py new file mode 100644 index 00000000..4b534d0c --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_type_vd.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_type_vd import ServiceProfileAccessPointTypeVD + +class TestServiceProfileAccessPointTypeVD(unittest.TestCase): + """ServiceProfileAccessPointTypeVD unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileAccessPointTypeVD: + """Test ServiceProfileAccessPointTypeVD + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileAccessPointTypeVD` + """ + model = ServiceProfileAccessPointTypeVD() + if include_optional: + return ServiceProfileAccessPointTypeVD( + uuid = '', + type = 'VD', + supported_bandwidths = [ + 50 + ], + allow_remote_connections = True, + allow_custom_bandwidth = True + ) + else: + return ServiceProfileAccessPointTypeVD( + type = 'VD', + ) + """ + + def testServiceProfileAccessPointTypeVD(self): + """Test ServiceProfileAccessPointTypeVD""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_vd.py b/equinix/services/fabricv4/test/test_service_profile_access_point_vd.py new file mode 100644 index 00000000..3b7d82eb --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_vd.py @@ -0,0 +1,62 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_vd import ServiceProfileAccessPointVD + +class TestServiceProfileAccessPointVD(unittest.TestCase): + """ServiceProfileAccessPointVD unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileAccessPointVD: + """Test ServiceProfileAccessPointVD + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileAccessPointVD` + """ + model = ServiceProfileAccessPointVD() + if include_optional: + return ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1' + ) + else: + return ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + ) + """ + + def testServiceProfileAccessPointVD(self): + """Test ServiceProfileAccessPointVD""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_access_point_vd_type.py b/equinix/services/fabricv4/test/test_service_profile_access_point_vd_type.py new file mode 100644 index 00000000..f3baa43c --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_access_point_vd_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_access_point_vd_type import ServiceProfileAccessPointVDType + +class TestServiceProfileAccessPointVDType(unittest.TestCase): + """ServiceProfileAccessPointVDType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileAccessPointVDType(self): + """Test ServiceProfileAccessPointVDType""" + # inst = ServiceProfileAccessPointVDType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_and_filter.py b/equinix/services/fabricv4/test/test_service_profile_and_filter.py new file mode 100644 index 00000000..9772e14c --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_and_filter.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_and_filter import ServiceProfileAndFilter + +class TestServiceProfileAndFilter(unittest.TestCase): + """ServiceProfileAndFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileAndFilter: + """Test ServiceProfileAndFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileAndFilter` + """ + model = ServiceProfileAndFilter() + if include_optional: + return ServiceProfileAndFilter( + var_and = [ + equinix.services.fabricv4.models.service_profile_simple_expression.ServiceProfileSimpleExpression( + property = '/name', + operator = '=', + values = [ + 'ServiceProfile-1' + ], ) + ] + ) + else: + return ServiceProfileAndFilter( + ) + """ + + def testServiceProfileAndFilter(self): + """Test ServiceProfileAndFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_filter.py b/equinix/services/fabricv4/test/test_service_profile_filter.py new file mode 100644 index 00000000..3bf4522d --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_filter.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_filter import ServiceProfileFilter + +class TestServiceProfileFilter(unittest.TestCase): + """ServiceProfileFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileFilter: + """Test ServiceProfileFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileFilter` + """ + model = ServiceProfileFilter() + if include_optional: + return ServiceProfileFilter( + var_property = '/name', + operator = '=', + values = [ + 'ServiceProfile-1' + ], + var_and = [ + equinix.services.fabricv4.models.service_profile_simple_expression.ServiceProfileSimpleExpression( + property = '/name', + operator = '=', + values = [ + 'ServiceProfile-1' + ], ) + ] + ) + else: + return ServiceProfileFilter( + ) + """ + + def testServiceProfileFilter(self): + """Test ServiceProfileFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_link_protocol_config.py b/equinix/services/fabricv4/test/test_service_profile_link_protocol_config.py new file mode 100644 index 00000000..1d1ed678 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_link_protocol_config.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_link_protocol_config import ServiceProfileLinkProtocolConfig + +class TestServiceProfileLinkProtocolConfig(unittest.TestCase): + """ServiceProfileLinkProtocolConfig unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileLinkProtocolConfig: + """Test ServiceProfileLinkProtocolConfig + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileLinkProtocolConfig` + """ + model = ServiceProfileLinkProtocolConfig() + if include_optional: + return ServiceProfileLinkProtocolConfig( + encapsulation_strategy = 'CTAGED', + named_tags = [ + '' + ], + vlan_c_tag_label = '', + reuse_vlan_s_tag = True, + encapsulation = 'QINQ' + ) + else: + return ServiceProfileLinkProtocolConfig( + ) + """ + + def testServiceProfileLinkProtocolConfig(self): + """Test ServiceProfileLinkProtocolConfig""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_link_protocol_config_encapsulation.py b/equinix/services/fabricv4/test/test_service_profile_link_protocol_config_encapsulation.py new file mode 100644 index 00000000..bb1450cc --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_link_protocol_config_encapsulation.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation import ServiceProfileLinkProtocolConfigEncapsulation + +class TestServiceProfileLinkProtocolConfigEncapsulation(unittest.TestCase): + """ServiceProfileLinkProtocolConfigEncapsulation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileLinkProtocolConfigEncapsulation(self): + """Test ServiceProfileLinkProtocolConfigEncapsulation""" + # inst = ServiceProfileLinkProtocolConfigEncapsulation() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_link_protocol_config_encapsulation_strategy.py b/equinix/services/fabricv4/test/test_service_profile_link_protocol_config_encapsulation_strategy.py new file mode 100644 index 00000000..6c9fcd98 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_link_protocol_config_encapsulation_strategy.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_link_protocol_config_encapsulation_strategy import ServiceProfileLinkProtocolConfigEncapsulationStrategy + +class TestServiceProfileLinkProtocolConfigEncapsulationStrategy(unittest.TestCase): + """ServiceProfileLinkProtocolConfigEncapsulationStrategy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileLinkProtocolConfigEncapsulationStrategy(self): + """Test ServiceProfileLinkProtocolConfigEncapsulationStrategy""" + # inst = ServiceProfileLinkProtocolConfigEncapsulationStrategy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_metadata.py b/equinix/services/fabricv4/test/test_service_profile_metadata.py new file mode 100644 index 00000000..dc02231e --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_metadata.py @@ -0,0 +1,70 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_metadata import ServiceProfileMetadata + +class TestServiceProfileMetadata(unittest.TestCase): + """ServiceProfileMetadata unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileMetadata: + """Test ServiceProfileMetadata + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileMetadata` + """ + model = ServiceProfileMetadata() + if include_optional: + return ServiceProfileMetadata( + props = '', + reg_ex = '', + reg_ex_msg = '', + vlan_range_max_value = 56, + vlan_range_min_value = 56, + max_qinq = '', + max_dot1q = 56, + variable_billing = True, + global_organization = '', + limit_auth_key_conn = True, + allow_secondary_location = True, + redundant_profile_id = '', + allow_vc_migration = True, + connection_editable = True, + release_vlan = True, + max_connections_on_port = 56, + port_assignment_strategy = '', + eqx_managed_port = True, + connection_name_editable = True + ) + else: + return ServiceProfileMetadata( + ) + """ + + def testServiceProfileMetadata(self): + """Test ServiceProfileMetadata""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_request.py b/equinix/services/fabricv4/test/test_service_profile_request.py new file mode 100644 index 00000000..b95f7e92 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_request.py @@ -0,0 +1,144 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_request import ServiceProfileRequest + +class TestServiceProfileRequest(unittest.TestCase): + """ServiceProfileRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileRequest: + """Test ServiceProfileRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileRequest` + """ + model = ServiceProfileRequest() + if include_optional: + return ServiceProfileRequest( + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + href = '', + type = 'L2_PROFILE', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '' + ) + else: + return ServiceProfileRequest( + type = 'L2_PROFILE', + name = 'Sample Service Profile', + description = 'offering connectivity to my-network', + ) + """ + + def testServiceProfileRequest(self): + """Test ServiceProfileRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_search_request.py b/equinix/services/fabricv4/test/test_service_profile_search_request.py new file mode 100644 index 00000000..ac23bd84 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_search_request.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_search_request import ServiceProfileSearchRequest + +class TestServiceProfileSearchRequest(unittest.TestCase): + """ServiceProfileSearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileSearchRequest: + """Test ServiceProfileSearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileSearchRequest` + """ + model = ServiceProfileSearchRequest() + if include_optional: + return ServiceProfileSearchRequest( + filter = equinix.services.fabricv4.models.service_profile_filter.ServiceProfileFilter(), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ), + sort = [ + equinix.services.fabricv4.models.service_profile_sort_criteria.ServiceProfileSortCriteria( + direction = 'DESC', + property = '/changeLog/updatedDateTime', ) + ] + ) + else: + return ServiceProfileSearchRequest( + ) + """ + + def testServiceProfileSearchRequest(self): + """Test ServiceProfileSearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_simple_expression.py b/equinix/services/fabricv4/test/test_service_profile_simple_expression.py new file mode 100644 index 00000000..e3a364a7 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_simple_expression.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_simple_expression import ServiceProfileSimpleExpression + +class TestServiceProfileSimpleExpression(unittest.TestCase): + """ServiceProfileSimpleExpression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileSimpleExpression: + """Test ServiceProfileSimpleExpression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileSimpleExpression` + """ + model = ServiceProfileSimpleExpression() + if include_optional: + return ServiceProfileSimpleExpression( + var_property = '/name', + operator = '=', + values = [ + 'ServiceProfile-1' + ] + ) + else: + return ServiceProfileSimpleExpression( + ) + """ + + def testServiceProfileSimpleExpression(self): + """Test ServiceProfileSimpleExpression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_sort_by.py b/equinix/services/fabricv4/test/test_service_profile_sort_by.py new file mode 100644 index 00000000..2e25fcb1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_sort_by.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_sort_by import ServiceProfileSortBy + +class TestServiceProfileSortBy(unittest.TestCase): + """ServiceProfileSortBy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileSortBy(self): + """Test ServiceProfileSortBy""" + # inst = ServiceProfileSortBy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_sort_criteria.py b/equinix/services/fabricv4/test/test_service_profile_sort_criteria.py new file mode 100644 index 00000000..4f588f8e --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_sort_criteria.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_sort_criteria import ServiceProfileSortCriteria + +class TestServiceProfileSortCriteria(unittest.TestCase): + """ServiceProfileSortCriteria unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfileSortCriteria: + """Test ServiceProfileSortCriteria + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfileSortCriteria` + """ + model = ServiceProfileSortCriteria() + if include_optional: + return ServiceProfileSortCriteria( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return ServiceProfileSortCriteria( + ) + """ + + def testServiceProfileSortCriteria(self): + """Test ServiceProfileSortCriteria""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_sort_direction.py b/equinix/services/fabricv4/test/test_service_profile_sort_direction.py new file mode 100644 index 00000000..1d9cc479 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_sort_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_sort_direction import ServiceProfileSortDirection + +class TestServiceProfileSortDirection(unittest.TestCase): + """ServiceProfileSortDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileSortDirection(self): + """Test ServiceProfileSortDirection""" + # inst = ServiceProfileSortDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_state_enum.py b/equinix/services/fabricv4/test/test_service_profile_state_enum.py new file mode 100644 index 00000000..55c29bbb --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_state_enum.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_state_enum import ServiceProfileStateEnum + +class TestServiceProfileStateEnum(unittest.TestCase): + """ServiceProfileStateEnum unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileStateEnum(self): + """Test ServiceProfileStateEnum""" + # inst = ServiceProfileStateEnum() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_type_enum.py b/equinix/services/fabricv4/test/test_service_profile_type_enum.py new file mode 100644 index 00000000..ece11c63 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_type_enum.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_type_enum import ServiceProfileTypeEnum + +class TestServiceProfileTypeEnum(unittest.TestCase): + """ServiceProfileTypeEnum unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileTypeEnum(self): + """Test ServiceProfileTypeEnum""" + # inst = ServiceProfileTypeEnum() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profile_visibility_enum.py b/equinix/services/fabricv4/test/test_service_profile_visibility_enum.py new file mode 100644 index 00000000..71ab6d8c --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profile_visibility_enum.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profile_visibility_enum import ServiceProfileVisibilityEnum + +class TestServiceProfileVisibilityEnum(unittest.TestCase): + """ServiceProfileVisibilityEnum unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceProfileVisibilityEnum(self): + """Test ServiceProfileVisibilityEnum""" + # inst = ServiceProfileVisibilityEnum() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profiles.py b/equinix/services/fabricv4/test/test_service_profiles.py new file mode 100644 index 00000000..c442ba8b --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profiles.py @@ -0,0 +1,65 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_profiles import ServiceProfiles + +class TestServiceProfiles(unittest.TestCase): + """ServiceProfiles unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceProfiles: + """Test ServiceProfiles + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceProfiles` + """ + model = ServiceProfiles() + if include_optional: + return ServiceProfiles( + data = [ + equinix.services.fabricv4.models.service_profile.ServiceProfile( + state = 'ACTIVE', + account = null, + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + change_log = null, ) + ], + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ) + ) + else: + return ServiceProfiles( + ) + """ + + def testServiceProfiles(self): + """Test ServiceProfiles""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_profiles_api.py b/equinix/services/fabricv4/test/test_service_profiles_api.py new file mode 100644 index 00000000..f00fed61 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_profiles_api.py @@ -0,0 +1,88 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.service_profiles_api import ServiceProfilesApi + + +class TestServiceProfilesApi(unittest.TestCase): + """ServiceProfilesApi unit test stubs""" + + def setUp(self) -> None: + self.api = ServiceProfilesApi() + + def tearDown(self) -> None: + pass + + def test_create_service_profile(self) -> None: + """Test case for create_service_profile + + Create Profile + """ + pass + + def test_delete_service_profile_by_uuid(self) -> None: + """Test case for delete_service_profile_by_uuid + + Delete Profile + """ + pass + + def test_get_service_profile_by_uuid(self) -> None: + """Test case for get_service_profile_by_uuid + + Get Profile + """ + pass + + def test_get_service_profile_metros_by_uuid(self) -> None: + """Test case for get_service_profile_metros_by_uuid + + Get Profile Metros + """ + pass + + def test_get_service_profiles(self) -> None: + """Test case for get_service_profiles + + Get all Profiles + """ + pass + + def test_put_service_profile_by_uuid(self) -> None: + """Test case for put_service_profile_by_uuid + + Replace Profile + """ + pass + + def test_search_service_profiles(self) -> None: + """Test case for search_service_profiles + + Profile Search + """ + pass + + def test_update_service_profile_by_uuid(self) -> None: + """Test case for update_service_profile_by_uuid + + Update Profile + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token.py b/equinix/services/fabricv4/test/test_service_token.py new file mode 100644 index 00000000..9cbdbdac --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token.py @@ -0,0 +1,116 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token import ServiceToken + +class TestServiceToken(unittest.TestCase): + """ServiceToken unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceToken: + """Test ServiceToken + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceToken` + """ + model = ServiceToken() + if include_optional: + return ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ) + ) + else: + return ServiceToken( + uuid = '', + ) + """ + + def testServiceToken(self): + """Test ServiceToken""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_action_request.py b/equinix/services/fabricv4/test/test_service_token_action_request.py new file mode 100644 index 00000000..f3745ca1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_action_request.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_action_request import ServiceTokenActionRequest + +class TestServiceTokenActionRequest(unittest.TestCase): + """ServiceTokenActionRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokenActionRequest: + """Test ServiceTokenActionRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokenActionRequest` + """ + model = ServiceTokenActionRequest() + if include_optional: + return ServiceTokenActionRequest( + type = 'RESEND_EMAIL_NOTIFICATION' + ) + else: + return ServiceTokenActionRequest( + type = 'RESEND_EMAIL_NOTIFICATION', + ) + """ + + def testServiceTokenActionRequest(self): + """Test ServiceTokenActionRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_actions.py b/equinix/services/fabricv4/test/test_service_token_actions.py new file mode 100644 index 00000000..9d897e73 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_actions.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_actions import ServiceTokenActions + +class TestServiceTokenActions(unittest.TestCase): + """ServiceTokenActions unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceTokenActions(self): + """Test ServiceTokenActions""" + # inst = ServiceTokenActions() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_change_operation.py b/equinix/services/fabricv4/test/test_service_token_change_operation.py new file mode 100644 index 00000000..1bd0654c --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_change_operation.py @@ -0,0 +1,57 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_change_operation import ServiceTokenChangeOperation + +class TestServiceTokenChangeOperation(unittest.TestCase): + """ServiceTokenChangeOperation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokenChangeOperation: + """Test ServiceTokenChangeOperation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokenChangeOperation` + """ + model = ServiceTokenChangeOperation() + if include_optional: + return ServiceTokenChangeOperation( + op = 'replace', + path = '/expirationDateTime', + value = None + ) + else: + return ServiceTokenChangeOperation( + op = 'replace', + path = '/expirationDateTime', + value = None, + ) + """ + + def testServiceTokenChangeOperation(self): + """Test ServiceTokenChangeOperation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_connection.py b/equinix/services/fabricv4/test/test_service_token_connection.py new file mode 100644 index 00000000..93c61211 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_connection.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_connection import ServiceTokenConnection + +class TestServiceTokenConnection(unittest.TestCase): + """ServiceTokenConnection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokenConnection: + """Test ServiceTokenConnection + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokenConnection` + """ + model = ServiceTokenConnection() + if include_optional: + return ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + type = 'COLO', + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + type = 'COLO', + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ) + ) + else: + return ServiceTokenConnection( + type = 'EVPL_VC', + ) + """ + + def testServiceTokenConnection(self): + """Test ServiceTokenConnection""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_connection_type.py b/equinix/services/fabricv4/test/test_service_token_connection_type.py new file mode 100644 index 00000000..07c3e649 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_connection_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_connection_type import ServiceTokenConnectionType + +class TestServiceTokenConnectionType(unittest.TestCase): + """ServiceTokenConnectionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceTokenConnectionType(self): + """Test ServiceTokenConnectionType""" + # inst = ServiceTokenConnectionType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_search_expression.py b/equinix/services/fabricv4/test/test_service_token_search_expression.py new file mode 100644 index 00000000..733fb914 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_search_expression.py @@ -0,0 +1,73 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_search_expression import ServiceTokenSearchExpression + +class TestServiceTokenSearchExpression(unittest.TestCase): + """ServiceTokenSearchExpression unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokenSearchExpression: + """Test ServiceTokenSearchExpression + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokenSearchExpression` + """ + model = ServiceTokenSearchExpression() + if include_optional: + return ServiceTokenSearchExpression( + var_and = [ + equinix.services.fabricv4.models.service_token_search_expression.ServiceTokenSearchExpression( + and = [ + equinix.services.fabricv4.models.service_token_search_expression.ServiceTokenSearchExpression( + and = , + property = '/uuid', + operator = '=', + values = [ + '' + ], ) + ], + property = '/uuid', + operator = '=', + values = [ + '' + ], ) + ], + var_property = '/uuid', + operator = '=', + values = [ + '' + ] + ) + else: + return ServiceTokenSearchExpression( + ) + """ + + def testServiceTokenSearchExpression(self): + """Test ServiceTokenSearchExpression""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_search_expression_operator.py b/equinix/services/fabricv4/test/test_service_token_search_expression_operator.py new file mode 100644 index 00000000..1d90475f --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_search_expression_operator.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_search_expression_operator import ServiceTokenSearchExpressionOperator + +class TestServiceTokenSearchExpressionOperator(unittest.TestCase): + """ServiceTokenSearchExpressionOperator unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceTokenSearchExpressionOperator(self): + """Test ServiceTokenSearchExpressionOperator""" + # inst = ServiceTokenSearchExpressionOperator() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_search_field_name.py b/equinix/services/fabricv4/test/test_service_token_search_field_name.py new file mode 100644 index 00000000..1630bf36 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_search_field_name.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_search_field_name import ServiceTokenSearchFieldName + +class TestServiceTokenSearchFieldName(unittest.TestCase): + """ServiceTokenSearchFieldName unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceTokenSearchFieldName(self): + """Test ServiceTokenSearchFieldName""" + # inst = ServiceTokenSearchFieldName() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_search_request.py b/equinix/services/fabricv4/test/test_service_token_search_request.py new file mode 100644 index 00000000..2d7acb9b --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_search_request.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_search_request import ServiceTokenSearchRequest + +class TestServiceTokenSearchRequest(unittest.TestCase): + """ServiceTokenSearchRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokenSearchRequest: + """Test ServiceTokenSearchRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokenSearchRequest` + """ + model = ServiceTokenSearchRequest() + if include_optional: + return ServiceTokenSearchRequest( + filter = equinix.services.fabricv4.models.service_token_search_expression.ServiceTokenSearchExpression( + and = [ + equinix.services.fabricv4.models.service_token_search_expression.ServiceTokenSearchExpression( + property = '/uuid', + operator = '=', + values = [ + '' + ], ) + ], + property = '/uuid', + operator = '=', + values = [ + '' + ], ), + pagination = equinix.services.fabricv4.models.pagination_request.PaginationRequest( + offset = 0, + limit = 1, ) + ) + else: + return ServiceTokenSearchRequest( + ) + """ + + def testServiceTokenSearchRequest(self): + """Test ServiceTokenSearchRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_side.py b/equinix/services/fabricv4/test/test_service_token_side.py new file mode 100644 index 00000000..3d231150 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_side.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_side import ServiceTokenSide + +class TestServiceTokenSide(unittest.TestCase): + """ServiceTokenSide unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokenSide: + """Test ServiceTokenSide + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokenSide` + """ + model = ServiceTokenSide() + if include_optional: + return ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + type = 'COLO', + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ] + ) + else: + return ServiceTokenSide( + ) + """ + + def testServiceTokenSide(self): + """Test ServiceTokenSide""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_state.py b/equinix/services/fabricv4/test/test_service_token_state.py new file mode 100644 index 00000000..82339b6b --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_state.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_state import ServiceTokenState + +class TestServiceTokenState(unittest.TestCase): + """ServiceTokenState unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceTokenState(self): + """Test ServiceTokenState""" + # inst = ServiceTokenState() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_token_type.py b/equinix/services/fabricv4/test/test_service_token_type.py new file mode 100644 index 00000000..e2e0d482 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_token_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_token_type import ServiceTokenType + +class TestServiceTokenType(unittest.TestCase): + """ServiceTokenType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testServiceTokenType(self): + """Test ServiceTokenType""" + # inst = ServiceTokenType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_tokens.py b/equinix/services/fabricv4/test/test_service_tokens.py new file mode 100644 index 00000000..0c286567 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_tokens.py @@ -0,0 +1,124 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.service_tokens import ServiceTokens + +class TestServiceTokens(unittest.TestCase): + """ServiceTokens unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ServiceTokens: + """Test ServiceTokens + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ServiceTokens` + """ + model = ServiceTokens() + if include_optional: + return ServiceTokens( + data = [ + equinix.services.fabricv4.models.service_token.ServiceToken( + type = 'VC_TOKEN', + href = '', + uuid = '', + name = '', + description = '', + expiration_date_time = '2020-11-06T07:00Z', + connection = equinix.services.fabricv4.models.service_token_connection.ServiceTokenConnection( + type = 'EVPL_VC', + href = '', + uuid = '', + allow_remote_connection = True, + bandwidth_limit = 0, + supported_bandwidths = [ + 56 + ], + a_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide( + access_point_selectors = [ + equinix.services.fabricv4.models.access_point_selector.AccessPointSelector( + port = equinix.services.fabricv4.models.simplified_metadata_entity.SimplifiedMetadataEntity( + href = '', + uuid = '', ), + link_protocol = equinix.services.fabricv4.models.link_protocol.LinkProtocol(), ) + ], ), + z_side = equinix.services.fabricv4.models.service_token_side.ServiceTokenSide(), ), + state = 'ACTIVE', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + changelog = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), ) + ], + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ) + ) + else: + return ServiceTokens( + ) + """ + + def testServiceTokens(self): + """Test ServiceTokens""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_service_tokens_api.py b/equinix/services/fabricv4/test/test_service_tokens_api.py new file mode 100644 index 00000000..1ee3b511 --- /dev/null +++ b/equinix/services/fabricv4/test/test_service_tokens_api.py @@ -0,0 +1,81 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.service_tokens_api import ServiceTokensApi + + +class TestServiceTokensApi(unittest.TestCase): + """ServiceTokensApi unit test stubs""" + + def setUp(self) -> None: + self.api = ServiceTokensApi() + + def tearDown(self) -> None: + pass + + def test_create_service_token(self) -> None: + """Test case for create_service_token + + Create Service Token + """ + pass + + def test_create_service_token_action(self) -> None: + """Test case for create_service_token_action + + ServiceToken Actions + """ + pass + + def test_delete_service_token_by_uuid(self) -> None: + """Test case for delete_service_token_by_uuid + + Delete Token by uuid + """ + pass + + def test_get_service_token_by_uuid(self) -> None: + """Test case for get_service_token_by_uuid + + Get Token by uuid + """ + pass + + def test_get_service_tokens(self) -> None: + """Test case for get_service_tokens + + Get All Tokens + """ + pass + + def test_search_service_tokens(self) -> None: + """Test case for search_service_tokens + + Search servicetokens + """ + pass + + def test_update_service_token_by_uuid(self) -> None: + """Test case for update_service_token_by_uuid + + Update Token By ID + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_account.py b/equinix/services/fabricv4/test/test_simplified_account.py new file mode 100644 index 00000000..77d40a8d --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_account.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_account import SimplifiedAccount + +class TestSimplifiedAccount(unittest.TestCase): + """SimplifiedAccount unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedAccount: + """Test SimplifiedAccount + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedAccount` + """ + model = SimplifiedAccount() + if include_optional: + return SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56 + ) + else: + return SimplifiedAccount( + ) + """ + + def testSimplifiedAccount(self): + """Test SimplifiedAccount""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_account_port_response.py b/equinix/services/fabricv4/test/test_simplified_account_port_response.py new file mode 100644 index 00000000..7c805fa6 --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_account_port_response.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_account_port_response import SimplifiedAccountPortResponse + +class TestSimplifiedAccountPortResponse(unittest.TestCase): + """SimplifiedAccountPortResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedAccountPortResponse: + """Test SimplifiedAccountPortResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedAccountPortResponse` + """ + model = SimplifiedAccountPortResponse() + if include_optional: + return SimplifiedAccountPortResponse( + account_number = '', + org_id = '', + reseller_account_number = '', + reseller_org_id = '', + account_name = '', + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_name = '', + reseller_ucm_id = '' + ) + else: + return SimplifiedAccountPortResponse( + ) + """ + + def testSimplifiedAccountPortResponse(self): + """Test SimplifiedAccountPortResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_link_protocol.py b/equinix/services/fabricv4/test/test_simplified_link_protocol.py new file mode 100644 index 00000000..5d4d3e3d --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_link_protocol.py @@ -0,0 +1,55 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_link_protocol import SimplifiedLinkProtocol + +class TestSimplifiedLinkProtocol(unittest.TestCase): + """SimplifiedLinkProtocol unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedLinkProtocol: + """Test SimplifiedLinkProtocol + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedLinkProtocol` + """ + model = SimplifiedLinkProtocol() + if include_optional: + return SimplifiedLinkProtocol( + type = 'UNTAGGED', + vlan_tag = 2, + vlan_s_tag = 2, + vlan_c_tag = 2 + ) + else: + return SimplifiedLinkProtocol( + ) + """ + + def testSimplifiedLinkProtocol(self): + """Test SimplifiedLinkProtocol""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_location.py b/equinix/services/fabricv4/test/test_simplified_location.py new file mode 100644 index 00000000..50286995 --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_location.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_location import SimplifiedLocation + +class TestSimplifiedLocation(unittest.TestCase): + """SimplifiedLocation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedLocation: + """Test SimplifiedLocation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedLocation` + """ + model = SimplifiedLocation() + if include_optional: + return SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1' + ) + else: + return SimplifiedLocation( + ) + """ + + def testSimplifiedLocation(self): + """Test SimplifiedLocation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_location_without_ibx.py b/equinix/services/fabricv4/test/test_simplified_location_without_ibx.py new file mode 100644 index 00000000..418ab15e --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_location_without_ibx.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_location_without_ibx import SimplifiedLocationWithoutIBX + +class TestSimplifiedLocationWithoutIBX(unittest.TestCase): + """SimplifiedLocationWithoutIBX unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedLocationWithoutIBX: + """Test SimplifiedLocationWithoutIBX + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedLocationWithoutIBX` + """ + model = SimplifiedLocationWithoutIBX() + if include_optional: + return SimplifiedLocationWithoutIBX( + href = '', + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM' + ) + else: + return SimplifiedLocationWithoutIBX( + metro_code = 'AM', + ) + """ + + def testSimplifiedLocationWithoutIBX(self): + """Test SimplifiedLocationWithoutIBX""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_metadata_entity.py b/equinix/services/fabricv4/test/test_simplified_metadata_entity.py new file mode 100644 index 00000000..6eadf556 --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_metadata_entity.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_metadata_entity import SimplifiedMetadataEntity + +class TestSimplifiedMetadataEntity(unittest.TestCase): + """SimplifiedMetadataEntity unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedMetadataEntity: + """Test SimplifiedMetadataEntity + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedMetadataEntity` + """ + model = SimplifiedMetadataEntity() + if include_optional: + return SimplifiedMetadataEntity( + href = '', + uuid = '', + type = '' + ) + else: + return SimplifiedMetadataEntity( + ) + """ + + def testSimplifiedMetadataEntity(self): + """Test SimplifiedMetadataEntity""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_network.py b/equinix/services/fabricv4/test/test_simplified_network.py new file mode 100644 index 00000000..1450d44d --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_network.py @@ -0,0 +1,104 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_network import SimplifiedNetwork + +class TestSimplifiedNetwork(unittest.TestCase): + """SimplifiedNetwork unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedNetwork: + """Test SimplifiedNetwork + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedNetwork` + """ + model = SimplifiedNetwork() + if include_optional: + return SimplifiedNetwork( + href = 'https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784', + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + name = 'My EVPLAN Network', + state = 'ACTIVE', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + change = equinix.services.fabricv4.models.simplified_network_change.SimplifiedNetworkChange( + href = 'https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9', + uuid = '4b17da68-3d6b-436d-9c8f-2105f3b950d9', + type = 'NETWORK_CREATION', ), + operation = equinix.services.fabricv4.models.network_operation.NetworkOperation( + equinix_status = 'PROVISIONING', ), + change_log = equinix.services.fabricv4.models.changelog.Changelog( + created_by = 'johnsmith', + created_by_full_name = 'John Smith', + created_by_email = 'john.smith@example.com', + created_date_time = '2020-11-06T07:00Z', + updated_by = 'johnsmith', + updated_by_full_name = 'John Smith', + updated_by_email = 'john.smith@example.com', + updated_date_time = '2020-11-06T07:00Z', + deleted_by = 'johnsmith', + deleted_by_full_name = 'John Smith', + deleted_by_email = 'john.smith@example.com', + deleted_date_time = '2020-11-06T07:00Z', ), + links = [ + equinix.services.fabricv4.models.link.Link( + href = '', + rel = '', + method = '', + content_type = '', + authenticate = True, ) + ], + type = 'EVPLAN', + scope = 'REGIONAL', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ) + ) + else: + return SimplifiedNetwork( + uuid = '92dc376a-a932-43aa-a6a2-c806dedbd784', + ) + """ + + def testSimplifiedNetwork(self): + """Test SimplifiedNetwork""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_network_change.py b/equinix/services/fabricv4/test/test_simplified_network_change.py new file mode 100644 index 00000000..824d09ce --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_network_change.py @@ -0,0 +1,54 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_network_change import SimplifiedNetworkChange + +class TestSimplifiedNetworkChange(unittest.TestCase): + """SimplifiedNetworkChange unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedNetworkChange: + """Test SimplifiedNetworkChange + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedNetworkChange` + """ + model = SimplifiedNetworkChange() + if include_optional: + return SimplifiedNetworkChange( + href = 'https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9', + uuid = '4b17da68-3d6b-436d-9c8f-2105f3b950d9', + type = 'NETWORK_CREATION' + ) + else: + return SimplifiedNetworkChange( + ) + """ + + def testSimplifiedNetworkChange(self): + """Test SimplifiedNetworkChange""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_notification.py b/equinix/services/fabricv4/test/test_simplified_notification.py new file mode 100644 index 00000000..b5b6b4b8 --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_notification.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_notification import SimplifiedNotification + +class TestSimplifiedNotification(unittest.TestCase): + """SimplifiedNotification unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedNotification: + """Test SimplifiedNotification + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedNotification` + """ + model = SimplifiedNotification() + if include_optional: + return SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ] + ) + else: + return SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + emails = [ + '' + ], + ) + """ + + def testSimplifiedNotification(self): + """Test SimplifiedNotification""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_notification_type.py b/equinix/services/fabricv4/test/test_simplified_notification_type.py new file mode 100644 index 00000000..48d4e9ca --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_notification_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_notification_type import SimplifiedNotificationType + +class TestSimplifiedNotificationType(unittest.TestCase): + """SimplifiedNotificationType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSimplifiedNotificationType(self): + """Test SimplifiedNotificationType""" + # inst = SimplifiedNotificationType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_port.py b/equinix/services/fabricv4/test/test_simplified_port.py new file mode 100644 index 00000000..40bf9cf5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_port.py @@ -0,0 +1,210 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_port import SimplifiedPort + +class TestSimplifiedPort(unittest.TestCase): + """SimplifiedPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedPort: + """Test SimplifiedPort + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedPort` + """ + model = SimplifiedPort() + if include_optional: + return SimplifiedPort( + type = 'XF_PORT', + id = 56, + href = '', + uuid = '', + name = '', + description = '', + physical_ports_speed = 0, + connections_count = 0, + project = equinix.services.fabricv4.models.project.Project( + project_id = '44f4c4f8-2f39-494e-838c-d8e640591be5', ), + state = 'PENDING', + cvp_id = '', + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + service_type = 'EPL', + bandwidth = 0, + available_bandwidth = 0, + used_bandwidth = 0, + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + device = equinix.services.fabricv4.models.port_device.PortDevice( + name = '', + redundancy = equinix.services.fabricv4.models.port_device_redundancy.PortDeviceRedundancy( + group = '', + priority = 'PRIMARY', ), ), + interface = equinix.services.fabricv4.models.port_interface.PortInterface( + type = '', + if_index = '', + name = '', ), + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + redundancy = equinix.services.fabricv4.models.port_redundancy.PortRedundancy( + enabled = True, + group = '', + priority = 'PRIMARY', ), + encapsulation = equinix.services.fabricv4.models.port_encapsulation.PortEncapsulation( + type = 'NULL', + tag_protocol_id = '', ), + lag_enabled = True, + settings = equinix.services.fabricv4.models.port_settings.PortSettings( + product = '', + buyout = True, + view_port_permission = True, + place_vc_order_permission = True, + layer3_enabled = True, + product_code = '', + shared_port_type = True, + shared_port_product = 'NETWORK_EDGE', + package_type = 'STANDARD', ), + physical_port_quantity = 56, + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + physical_ports = [ + equinix.services.fabricv4.models.physical_port.PhysicalPort( + type = 'XF_PHYSICAL_PORT', + id = 56, + href = '', + state = 'PENDING', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ), + interface_speed = 0, + interface_type = '', + tether = equinix.services.fabricv4.models.port_tether.PortTether( + cross_connect_id = '', + cabinet_number = '', + system_name = '', + patch_panel = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + ibx = '', ), + demarcation_point = equinix.services.fabricv4.models.port_demarcation_point.PortDemarcationPoint( + cabinet_unique_space_id = '', + cage_unique_space_id = '', + patch_panel = '', + patch_panel_name = '', + patch_panel_port_a = '', + patch_panel_port_b = '', + connector_type = '', + ibx = '', ), + additional_info = [ + equinix.services.fabricv4.models.port_additional_info.PortAdditionalInfo( + key = '', + value = '', ) + ], + order = equinix.services.fabricv4.models.port_order.PortOrder( + purchase_order = equinix.services.fabricv4.models.port_order_purchase_order.PortOrder_purchaseOrder( + number = '', + amount = '', + start_date = '', + end_date = '', + attachment_id = '', + selection_type = 'EXEMPTION', ), + order_id = '', + order_number = '', + uuid = '', + signature = equinix.services.fabricv4.models.port_order_signature.PortOrder_signature( + signatory = 'DELEGATE', + delegate = equinix.services.fabricv4.models.port_order_signature_delegate.PortOrder_signature_delegate( + first_name = '', + last_name = '', + email = '', ), ), ), + operation = equinix.services.fabricv4.models.port_operation.PortOperation( + operational_status = 'UP', + connection_count = 56, + op_status_changed_at = '2020-11-06T07:00Z', ), + loas = [ + equinix.services.fabricv4.models.port_loa.PortLoa( + uuid = '', + href = '', ) + ], ) + ] + ) + else: + return SimplifiedPort( + ) + """ + + def testSimplifiedPort(self): + """Test SimplifiedPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_simplified_service_profile.py b/equinix/services/fabricv4/test/test_simplified_service_profile.py new file mode 100644 index 00000000..e93bf43e --- /dev/null +++ b/equinix/services/fabricv4/test/test_simplified_service_profile.py @@ -0,0 +1,139 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.simplified_service_profile import SimplifiedServiceProfile + +class TestSimplifiedServiceProfile(unittest.TestCase): + """SimplifiedServiceProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SimplifiedServiceProfile: + """Test SimplifiedServiceProfile + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SimplifiedServiceProfile` + """ + model = SimplifiedServiceProfile() + if include_optional: + return SimplifiedServiceProfile( + href = '', + type = 'L2_PROFILE', + name = 'Sample Service Profile', + uuid = '', + description = 'offering connectivity to my-network', + notifications = [ + equinix.services.fabricv4.models.simplified_notification.SimplifiedNotification( + type = 'BANDWIDTH_ALERT', + send_interval = '', + emails = [ + '' + ], + registered_users = [ + '' + ], ) + ], + tags = [ + '' + ], + visibility = 'PRIVATE', + allowed_emails = [ + '' + ], + access_point_type_configs = [ + equinix.services.fabricv4.models.service_profile_access_point_type.ServiceProfileAccessPointType() + ], + custom_fields = [ + equinix.services.fabricv4.models.custom_field.CustomField( + label = 'Account Number', + description = 'Provide a valid account number', + required = True, + data_type = 'STRING', + options = [ + '' + ], + capture_in_email = True, ) + ], + marketing_info = equinix.services.fabricv4.models.marketing_info.MarketingInfo( + logo = '', + promotion = True, + process_steps = [ + equinix.services.fabricv4.models.process_step.ProcessStep( + title = '', + sub_title = '', + description = '', ) + ], ), + ports = [ + equinix.services.fabricv4.models.service_profile_access_point_colo.ServiceProfileAccessPointCOLO( + type = 'XF_PORT', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + seller_region = '', + seller_region_description = '', + cross_connect_id = '', ) + ], + virtual_devices = [ + equinix.services.fabricv4.models.service_profile_access_point_vd.ServiceProfileAccessPointVD( + type = 'VD', + uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', + location = equinix.services.fabricv4.models.simplified_location.SimplifiedLocation( + region = 'AMER, APAC, EMEA', + metro_name = 'Amsterdam', + metro_code = 'AM', + metro_href = 'https://api.equinix.com/fabric/v4/metros/AM', + ibx = 'AM1', ), + interface_uuid = '94662143-e21b-4098-bfcf-e9416f47eae1', ) + ], + metros = [ + equinix.services.fabricv4.models.service_metro.ServiceMetro( + code = '', + name = '', + vc_bandwidth_max = 56, + ibxs = [ + '' + ], + in_trail = True, + display_name = '', + seller_regions = { + 'key' : '' + }, ) + ], + self_profile = True, + project_id = '' + ) + else: + return SimplifiedServiceProfile( + ) + """ + + def testSimplifiedServiceProfile(self): + """Test SimplifiedServiceProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort.py b/equinix/services/fabricv4/test/test_sort.py new file mode 100644 index 00000000..d14020c4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort import Sort + +class TestSort(unittest.TestCase): + """Sort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSort(self): + """Test Sort""" + # inst = Sort() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_by.py b/equinix/services/fabricv4/test/test_sort_by.py new file mode 100644 index 00000000..103808bb --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_by.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_by import SortBy + +class TestSortBy(unittest.TestCase): + """SortBy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSortBy(self): + """Test SortBy""" + # inst = SortBy() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_criteria.py b/equinix/services/fabricv4/test/test_sort_criteria.py new file mode 100644 index 00000000..e1784df2 --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_criteria.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_criteria import SortCriteria + +class TestSortCriteria(unittest.TestCase): + """SortCriteria unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SortCriteria: + """Test SortCriteria + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SortCriteria` + """ + model = SortCriteria() + if include_optional: + return SortCriteria( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return SortCriteria( + ) + """ + + def testSortCriteria(self): + """Test SortCriteria""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_criteria_response.py b/equinix/services/fabricv4/test/test_sort_criteria_response.py new file mode 100644 index 00000000..6fb8dfea --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_criteria_response.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_criteria_response import SortCriteriaResponse + +class TestSortCriteriaResponse(unittest.TestCase): + """SortCriteriaResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SortCriteriaResponse: + """Test SortCriteriaResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SortCriteriaResponse` + """ + model = SortCriteriaResponse() + if include_optional: + return SortCriteriaResponse( + direction = 'DESC', + var_property = '/changeLog/updatedDateTime' + ) + else: + return SortCriteriaResponse( + ) + """ + + def testSortCriteriaResponse(self): + """Test SortCriteriaResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_direction.py b/equinix/services/fabricv4/test/test_sort_direction.py new file mode 100644 index 00000000..e9d183a4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_direction import SortDirection + +class TestSortDirection(unittest.TestCase): + """SortDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSortDirection(self): + """Test SortDirection""" + # inst = SortDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_item.py b/equinix/services/fabricv4/test/test_sort_item.py new file mode 100644 index 00000000..e2eb7ff5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_item.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_item import SortItem + +class TestSortItem(unittest.TestCase): + """SortItem unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SortItem: + """Test SortItem + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SortItem` + """ + model = SortItem() + if include_optional: + return SortItem( + var_property = '/changeLog/updatedDateTime', + direction = 'DESC' + ) + else: + return SortItem( + ) + """ + + def testSortItem(self): + """Test SortItem""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_item_direction.py b/equinix/services/fabricv4/test/test_sort_item_direction.py new file mode 100644 index 00000000..139b4b7b --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_item_direction.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_item_direction import SortItemDirection + +class TestSortItemDirection(unittest.TestCase): + """SortItemDirection unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSortItemDirection(self): + """Test SortItemDirection""" + # inst = SortItemDirection() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sort_item_property.py b/equinix/services/fabricv4/test/test_sort_item_property.py new file mode 100644 index 00000000..867368bb --- /dev/null +++ b/equinix/services/fabricv4/test/test_sort_item_property.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sort_item_property import SortItemProperty + +class TestSortItemProperty(unittest.TestCase): + """SortItemProperty unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testSortItemProperty(self): + """Test SortItemProperty""" + # inst = SortItemProperty() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_statistics.py b/equinix/services/fabricv4/test/test_statistics.py new file mode 100644 index 00000000..4a390fb0 --- /dev/null +++ b/equinix/services/fabricv4/test/test_statistics.py @@ -0,0 +1,69 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.statistics import Statistics + +class TestStatistics(unittest.TestCase): + """Statistics unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> Statistics: + """Test Statistics + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `Statistics` + """ + model = Statistics() + if include_optional: + return Statistics( + start_date_time = '2020-11-06T07:00Z', + end_date_time = '2020-11-06T07:00Z', + view_point = 'aSide', + bandwidth_utilization = equinix.services.fabricv4.models.bandwidth_utilization.BandwidthUtilization( + unit = 'Mbps', + metric_interval = '', + inbound = equinix.services.fabricv4.models.direction.Direction( + max = 1.337, + mean = 1.337, + metrics = [ + equinix.services.fabricv4.models.metrics.Metrics( + interval_end_timestamp = '2020-11-06T07:00Z', + max = 1.337, + mean = 1.337, ) + ], ), + outbound = equinix.services.fabricv4.models.direction.Direction( + max = 1.337, + mean = 1.337, ), ) + ) + else: + return Statistics( + ) + """ + + def testStatistics(self): + """Test Statistics""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_statistics_api.py b/equinix/services/fabricv4/test/test_statistics_api.py new file mode 100644 index 00000000..c1b293bc --- /dev/null +++ b/equinix/services/fabricv4/test/test_statistics_api.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.api.statistics_api import StatisticsApi + + +class TestStatisticsApi(unittest.TestCase): + """StatisticsApi unit test stubs""" + + def setUp(self) -> None: + self.api = StatisticsApi() + + def tearDown(self) -> None: + pass + + def test_get_connection_stats_by_port_uuid(self) -> None: + """Test case for get_connection_stats_by_port_uuid + + Get Stats by uuid + """ + pass + + def test_get_port_stats(self) -> None: + """Test case for get_port_stats + + Top Port Statistics + """ + pass + + def test_get_port_stats_by_port_uuid(self) -> None: + """Test case for get_port_stats_by_port_uuid + + Get Stats by uuid + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_statistics_view_point.py b/equinix/services/fabricv4/test/test_statistics_view_point.py new file mode 100644 index 00000000..5ec7ef44 --- /dev/null +++ b/equinix/services/fabricv4/test/test_statistics_view_point.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.statistics_view_point import StatisticsViewPoint + +class TestStatisticsViewPoint(unittest.TestCase): + """StatisticsViewPoint unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testStatisticsViewPoint(self): + """Test StatisticsViewPoint""" + # inst = StatisticsViewPoint() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_sub_interface.py b/equinix/services/fabricv4/test/test_sub_interface.py new file mode 100644 index 00000000..da246a74 --- /dev/null +++ b/equinix/services/fabricv4/test/test_sub_interface.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.sub_interface import SubInterface + +class TestSubInterface(unittest.TestCase): + """SubInterface unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> SubInterface: + """Test SubInterface + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `SubInterface` + """ + model = SubInterface() + if include_optional: + return SubInterface( + name = '', + unit = 200 + ) + else: + return SubInterface( + ) + """ + + def testSubInterface(self): + """Test SubInterface""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_top_utilized_statistics.py b/equinix/services/fabricv4/test/test_top_utilized_statistics.py new file mode 100644 index 00000000..517bf41d --- /dev/null +++ b/equinix/services/fabricv4/test/test_top_utilized_statistics.py @@ -0,0 +1,78 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.top_utilized_statistics import TopUtilizedStatistics + +class TestTopUtilizedStatistics(unittest.TestCase): + """TopUtilizedStatistics unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> TopUtilizedStatistics: + """Test TopUtilizedStatistics + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `TopUtilizedStatistics` + """ + model = TopUtilizedStatistics() + if include_optional: + return TopUtilizedStatistics( + pagination = equinix.services.fabricv4.models.pagination.Pagination( + offset = 0, + limit = 0, + total = 0, + next = '', + previous = '', ), + data = [ + equinix.services.fabricv4.models.statistics.Statistics( + start_date_time = '2020-11-06T07:00Z', + end_date_time = '2020-11-06T07:00Z', + view_point = 'aSide', + bandwidth_utilization = equinix.services.fabricv4.models.bandwidth_utilization.BandwidthUtilization( + unit = 'Mbps', + metric_interval = '', + inbound = equinix.services.fabricv4.models.direction.Direction( + max = 1.337, + mean = 1.337, + metrics = [ + equinix.services.fabricv4.models.metrics.Metrics( + interval_end_timestamp = '2020-11-06T07:00Z', + max = 1.337, + mean = 1.337, ) + ], ), + outbound = equinix.services.fabricv4.models.direction.Direction( + max = 1.337, + mean = 1.337, ), ), ) + ] + ) + else: + return TopUtilizedStatistics( + ) + """ + + def testTopUtilizedStatistics(self): + """Test TopUtilizedStatistics""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_validate_request.py b/equinix/services/fabricv4/test/test_validate_request.py new file mode 100644 index 00000000..57118c75 --- /dev/null +++ b/equinix/services/fabricv4/test/test_validate_request.py @@ -0,0 +1,60 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.validate_request import ValidateRequest + +class TestValidateRequest(unittest.TestCase): + """ValidateRequest unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidateRequest: + """Test ValidateRequest + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ValidateRequest` + """ + model = ValidateRequest() + if include_optional: + return ValidateRequest( + filter = equinix.services.fabricv4.models.validate_request_filter.ValidateRequest_filter( + and = [ + equinix.services.fabricv4.models.validate_request_filter_and.ValidateRequest_filter_and( + property = '', + operator = '', + values = [ + '' + ], ) + ], ) + ) + else: + return ValidateRequest( + ) + """ + + def testValidateRequest(self): + """Test ValidateRequest""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_validate_request_filter.py b/equinix/services/fabricv4/test/test_validate_request_filter.py new file mode 100644 index 00000000..531e5ff1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_validate_request_filter.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.validate_request_filter import ValidateRequestFilter + +class TestValidateRequestFilter(unittest.TestCase): + """ValidateRequestFilter unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidateRequestFilter: + """Test ValidateRequestFilter + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ValidateRequestFilter` + """ + model = ValidateRequestFilter() + if include_optional: + return ValidateRequestFilter( + var_and = [ + equinix.services.fabricv4.models.validate_request_filter_and.ValidateRequest_filter_and( + property = '', + operator = '', + values = [ + '' + ], ) + ] + ) + else: + return ValidateRequestFilter( + ) + """ + + def testValidateRequestFilter(self): + """Test ValidateRequestFilter""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_validate_request_filter_and.py b/equinix/services/fabricv4/test/test_validate_request_filter_and.py new file mode 100644 index 00000000..6223227d --- /dev/null +++ b/equinix/services/fabricv4/test/test_validate_request_filter_and.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.validate_request_filter_and import ValidateRequestFilterAnd + +class TestValidateRequestFilterAnd(unittest.TestCase): + """ValidateRequestFilterAnd unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidateRequestFilterAnd: + """Test ValidateRequestFilterAnd + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ValidateRequestFilterAnd` + """ + model = ValidateRequestFilterAnd() + if include_optional: + return ValidateRequestFilterAnd( + var_property = '', + operator = '', + values = [ + '' + ] + ) + else: + return ValidateRequestFilterAnd( + ) + """ + + def testValidateRequestFilterAnd(self): + """Test ValidateRequestFilterAnd""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_validate_subnet_response.py b/equinix/services/fabricv4/test/test_validate_subnet_response.py new file mode 100644 index 00000000..10cf7c14 --- /dev/null +++ b/equinix/services/fabricv4/test/test_validate_subnet_response.py @@ -0,0 +1,56 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.validate_subnet_response import ValidateSubnetResponse + +class TestValidateSubnetResponse(unittest.TestCase): + """ValidateSubnetResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> ValidateSubnetResponse: + """Test ValidateSubnetResponse + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `ValidateSubnetResponse` + """ + model = ValidateSubnetResponse() + if include_optional: + return ValidateSubnetResponse( + additional_info = [ + equinix.services.fabricv4.models.connection_side_additional_info.ConnectionSideAdditionalInfo( + key = '', + value = '', ) + ] + ) + else: + return ValidateSubnetResponse( + ) + """ + + def testValidateSubnetResponse(self): + """Test ValidateSubnetResponse""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_view_point.py b/equinix/services/fabricv4/test/test_view_point.py new file mode 100644 index 00000000..4f950722 --- /dev/null +++ b/equinix/services/fabricv4/test/test_view_point.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.view_point import ViewPoint + +class TestViewPoint(unittest.TestCase): + """ViewPoint unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testViewPoint(self): + """Test ViewPoint""" + # inst = ViewPoint() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_bridge_package_code.py b/equinix/services/fabricv4/test/test_virtual_connection_bridge_package_code.py new file mode 100644 index 00000000..21255270 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_bridge_package_code.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_bridge_package_code import VirtualConnectionBridgePackageCode + +class TestVirtualConnectionBridgePackageCode(unittest.TestCase): + """VirtualConnectionBridgePackageCode unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVirtualConnectionBridgePackageCode(self): + """Test VirtualConnectionBridgePackageCode""" + # inst = VirtualConnectionBridgePackageCode() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price.py b/equinix/services/fabricv4/test/test_virtual_connection_price.py new file mode 100644 index 00000000..e5aa5efc --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price.py @@ -0,0 +1,77 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price import VirtualConnectionPrice + +class TestVirtualConnectionPrice(unittest.TestCase): + """VirtualConnectionPrice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPrice: + """Test VirtualConnectionPrice + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPrice` + """ + model = VirtualConnectionPrice() + if include_optional: + return VirtualConnectionPrice( + uuid = '', + type = 'EVPL_VC', + bandwidth = 0, + a_side = equinix.services.fabricv4.models.virtual_connection_price_a_side.VirtualConnectionPriceASide( + access_point = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point.VirtualConnectionPriceASide_accessPoint( + uuid = '', + type = 'VD', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), ), ), + z_side = equinix.services.fabricv4.models.virtual_connection_price_z_side.VirtualConnectionPriceZSide( + access_point = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point.VirtualConnectionPriceZSide_accessPoint( + uuid = '', + type = 'VD', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), + profile = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile.VirtualConnectionPriceZSide_accessPoint_profile( + uuid = '', ), + bridge = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge.VirtualConnectionPriceZSide_accessPoint_bridge( + package = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package.VirtualConnectionPriceZSide_accessPoint_bridge_package( + code = 'REGIONAL', ), ), ), ) + ) + else: + return VirtualConnectionPrice( + ) + """ + + def testVirtualConnectionPrice(self): + """Test VirtualConnectionPrice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_a_side.py b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side.py new file mode 100644 index 00000000..82901a34 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side.py @@ -0,0 +1,59 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_a_side import VirtualConnectionPriceASide + +class TestVirtualConnectionPriceASide(unittest.TestCase): + """VirtualConnectionPriceASide unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceASide: + """Test VirtualConnectionPriceASide + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceASide` + """ + model = VirtualConnectionPriceASide() + if include_optional: + return VirtualConnectionPriceASide( + access_point = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point.VirtualConnectionPriceASide_accessPoint( + uuid = '', + type = 'VD', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), ) + ) + else: + return VirtualConnectionPriceASide( + ) + """ + + def testVirtualConnectionPriceASide(self): + """Test VirtualConnectionPriceASide""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point.py b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point.py new file mode 100644 index 00000000..379709c5 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point.py @@ -0,0 +1,58 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point import VirtualConnectionPriceASideAccessPoint + +class TestVirtualConnectionPriceASideAccessPoint(unittest.TestCase): + """VirtualConnectionPriceASideAccessPoint unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceASideAccessPoint: + """Test VirtualConnectionPriceASideAccessPoint + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceASideAccessPoint` + """ + model = VirtualConnectionPriceASideAccessPoint() + if include_optional: + return VirtualConnectionPriceASideAccessPoint( + uuid = '', + type = 'VD', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ) + ) + else: + return VirtualConnectionPriceASideAccessPoint( + ) + """ + + def testVirtualConnectionPriceASideAccessPoint(self): + """Test VirtualConnectionPriceASideAccessPoint""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point_port.py b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point_port.py new file mode 100644 index 00000000..001a1e7c --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point_port.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port import VirtualConnectionPriceASideAccessPointPort + +class TestVirtualConnectionPriceASideAccessPointPort(unittest.TestCase): + """VirtualConnectionPriceASideAccessPointPort unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceASideAccessPointPort: + """Test VirtualConnectionPriceASideAccessPointPort + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceASideAccessPointPort` + """ + model = VirtualConnectionPriceASideAccessPointPort() + if include_optional: + return VirtualConnectionPriceASideAccessPointPort( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ) + ) + else: + return VirtualConnectionPriceASideAccessPointPort( + ) + """ + + def testVirtualConnectionPriceASideAccessPointPort(self): + """Test VirtualConnectionPriceASideAccessPointPort""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point_port_settings.py b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point_port_settings.py new file mode 100644 index 00000000..5e93ab53 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_a_side_access_point_port_settings.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings import VirtualConnectionPriceASideAccessPointPortSettings + +class TestVirtualConnectionPriceASideAccessPointPortSettings(unittest.TestCase): + """VirtualConnectionPriceASideAccessPointPortSettings unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceASideAccessPointPortSettings: + """Test VirtualConnectionPriceASideAccessPointPortSettings + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceASideAccessPointPortSettings` + """ + model = VirtualConnectionPriceASideAccessPointPortSettings() + if include_optional: + return VirtualConnectionPriceASideAccessPointPortSettings( + buyout = True + ) + else: + return VirtualConnectionPriceASideAccessPointPortSettings( + ) + """ + + def testVirtualConnectionPriceASideAccessPointPortSettings(self): + """Test VirtualConnectionPriceASideAccessPointPortSettings""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_access_point_type.py b/equinix/services/fabricv4/test/test_virtual_connection_price_access_point_type.py new file mode 100644 index 00000000..bf43fa62 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_access_point_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_access_point_type import VirtualConnectionPriceAccessPointType + +class TestVirtualConnectionPriceAccessPointType(unittest.TestCase): + """VirtualConnectionPriceAccessPointType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVirtualConnectionPriceAccessPointType(self): + """Test VirtualConnectionPriceAccessPointType""" + # inst = VirtualConnectionPriceAccessPointType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_connection_type.py b/equinix/services/fabricv4/test/test_virtual_connection_price_connection_type.py new file mode 100644 index 00000000..efb5888e --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_connection_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_connection_type import VirtualConnectionPriceConnectionType + +class TestVirtualConnectionPriceConnectionType(unittest.TestCase): + """VirtualConnectionPriceConnectionType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVirtualConnectionPriceConnectionType(self): + """Test VirtualConnectionPriceConnectionType""" + # inst = VirtualConnectionPriceConnectionType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_z_side.py b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side.py new file mode 100644 index 00000000..751d4a26 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side.py @@ -0,0 +1,64 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_z_side import VirtualConnectionPriceZSide + +class TestVirtualConnectionPriceZSide(unittest.TestCase): + """VirtualConnectionPriceZSide unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceZSide: + """Test VirtualConnectionPriceZSide + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceZSide` + """ + model = VirtualConnectionPriceZSide() + if include_optional: + return VirtualConnectionPriceZSide( + access_point = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point.VirtualConnectionPriceZSide_accessPoint( + uuid = '', + type = 'VD', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), + profile = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile.VirtualConnectionPriceZSide_accessPoint_profile( + uuid = '', ), + bridge = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge.VirtualConnectionPriceZSide_accessPoint_bridge( + package = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package.VirtualConnectionPriceZSide_accessPoint_bridge_package( + code = 'REGIONAL', ), ), ) + ) + else: + return VirtualConnectionPriceZSide( + ) + """ + + def testVirtualConnectionPriceZSide(self): + """Test VirtualConnectionPriceZSide""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point.py b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point.py new file mode 100644 index 00000000..7c8d8154 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point.py @@ -0,0 +1,63 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point import VirtualConnectionPriceZSideAccessPoint + +class TestVirtualConnectionPriceZSideAccessPoint(unittest.TestCase): + """VirtualConnectionPriceZSideAccessPoint unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceZSideAccessPoint: + """Test VirtualConnectionPriceZSideAccessPoint + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceZSideAccessPoint` + """ + model = VirtualConnectionPriceZSideAccessPoint() + if include_optional: + return VirtualConnectionPriceZSideAccessPoint( + uuid = '', + type = 'VD', + location = equinix.services.fabricv4.models.price_location.PriceLocation( + metro_code = '', ), + port = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port.VirtualConnectionPriceASide_accessPoint_port( + settings = equinix.services.fabricv4.models.virtual_connection_price_a_side_access_point_port_settings.VirtualConnectionPriceASide_accessPoint_port_settings( + buyout = True, ), ), + profile = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile.VirtualConnectionPriceZSide_accessPoint_profile( + uuid = '', ), + bridge = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge.VirtualConnectionPriceZSide_accessPoint_bridge( + package = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package.VirtualConnectionPriceZSide_accessPoint_bridge_package( + code = 'REGIONAL', ), ) + ) + else: + return VirtualConnectionPriceZSideAccessPoint( + ) + """ + + def testVirtualConnectionPriceZSideAccessPoint(self): + """Test VirtualConnectionPriceZSideAccessPoint""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_bridge.py b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_bridge.py new file mode 100644 index 00000000..00587d30 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_bridge.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge import VirtualConnectionPriceZSideAccessPointBridge + +class TestVirtualConnectionPriceZSideAccessPointBridge(unittest.TestCase): + """VirtualConnectionPriceZSideAccessPointBridge unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceZSideAccessPointBridge: + """Test VirtualConnectionPriceZSideAccessPointBridge + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceZSideAccessPointBridge` + """ + model = VirtualConnectionPriceZSideAccessPointBridge() + if include_optional: + return VirtualConnectionPriceZSideAccessPointBridge( + package = equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package.VirtualConnectionPriceZSide_accessPoint_bridge_package( + code = 'REGIONAL', ) + ) + else: + return VirtualConnectionPriceZSideAccessPointBridge( + ) + """ + + def testVirtualConnectionPriceZSideAccessPointBridge(self): + """Test VirtualConnectionPriceZSideAccessPointBridge""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_bridge_package.py b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_bridge_package.py new file mode 100644 index 00000000..bc6e58dd --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_bridge_package.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_bridge_package import VirtualConnectionPriceZSideAccessPointBridgePackage + +class TestVirtualConnectionPriceZSideAccessPointBridgePackage(unittest.TestCase): + """VirtualConnectionPriceZSideAccessPointBridgePackage unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceZSideAccessPointBridgePackage: + """Test VirtualConnectionPriceZSideAccessPointBridgePackage + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceZSideAccessPointBridgePackage` + """ + model = VirtualConnectionPriceZSideAccessPointBridgePackage() + if include_optional: + return VirtualConnectionPriceZSideAccessPointBridgePackage( + code = 'REGIONAL' + ) + else: + return VirtualConnectionPriceZSideAccessPointBridgePackage( + ) + """ + + def testVirtualConnectionPriceZSideAccessPointBridgePackage(self): + """Test VirtualConnectionPriceZSideAccessPointBridgePackage""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_profile.py b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_profile.py new file mode 100644 index 00000000..4234c08c --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_connection_price_z_side_access_point_profile.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_connection_price_z_side_access_point_profile import VirtualConnectionPriceZSideAccessPointProfile + +class TestVirtualConnectionPriceZSideAccessPointProfile(unittest.TestCase): + """VirtualConnectionPriceZSideAccessPointProfile unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualConnectionPriceZSideAccessPointProfile: + """Test VirtualConnectionPriceZSideAccessPointProfile + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualConnectionPriceZSideAccessPointProfile` + """ + model = VirtualConnectionPriceZSideAccessPointProfile() + if include_optional: + return VirtualConnectionPriceZSideAccessPointProfile( + uuid = '' + ) + else: + return VirtualConnectionPriceZSideAccessPointProfile( + ) + """ + + def testVirtualConnectionPriceZSideAccessPointProfile(self): + """Test VirtualConnectionPriceZSideAccessPointProfile""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_device.py b/equinix/services/fabricv4/test/test_virtual_device.py new file mode 100644 index 00000000..bf9ade9c --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_device.py @@ -0,0 +1,68 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_device import VirtualDevice + +class TestVirtualDevice(unittest.TestCase): + """VirtualDevice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualDevice: + """Test VirtualDevice + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualDevice` + """ + model = VirtualDevice() + if include_optional: + return VirtualDevice( + href = '', + uuid = '', + name = '', + type = 'EDGE', + account = equinix.services.fabricv4.models.simplified_account.SimplifiedAccount( + account_number = 56, + account_name = '', + org_id = 56, + organization_name = '', + global_org_id = '', + global_organization_name = '', + ucm_id = '', + global_cust_id = '', + reseller_account_number = 56, + reseller_account_name = '', + reseller_ucm_id = '', + reseller_org_id = 56, ) + ) + else: + return VirtualDevice( + ) + """ + + def testVirtualDevice(self): + """Test VirtualDevice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_device_type.py b/equinix/services/fabricv4/test/test_virtual_device_type.py new file mode 100644 index 00000000..7cecb3f1 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_device_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_device_type import VirtualDeviceType + +class TestVirtualDeviceType(unittest.TestCase): + """VirtualDeviceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVirtualDeviceType(self): + """Test VirtualDeviceType""" + # inst = VirtualDeviceType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_network.py b/equinix/services/fabricv4/test/test_virtual_network.py new file mode 100644 index 00000000..f565b14d --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_network.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_network import VirtualNetwork + +class TestVirtualNetwork(unittest.TestCase): + """VirtualNetwork unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualNetwork: + """Test VirtualNetwork + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualNetwork` + """ + model = VirtualNetwork() + if include_optional: + return VirtualNetwork( + href = '', + uuid = '' + ) + else: + return VirtualNetwork( + ) + """ + + def testVirtualNetwork(self): + """Test VirtualNetwork""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_port_configuration.py b/equinix/services/fabricv4/test/test_virtual_port_configuration.py new file mode 100644 index 00000000..267f2ee4 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_port_configuration.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_port_configuration import VirtualPortConfiguration + +class TestVirtualPortConfiguration(unittest.TestCase): + """VirtualPortConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualPortConfiguration: + """Test VirtualPortConfiguration + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualPortConfiguration` + """ + model = VirtualPortConfiguration() + if include_optional: + return VirtualPortConfiguration( + buyout = True + ) + else: + return VirtualPortConfiguration( + ) + """ + + def testVirtualPortConfiguration(self): + """Test VirtualPortConfiguration""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_port_location.py b/equinix/services/fabricv4/test/test_virtual_port_location.py new file mode 100644 index 00000000..7d28e8cb --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_port_location.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_port_location import VirtualPortLocation + +class TestVirtualPortLocation(unittest.TestCase): + """VirtualPortLocation unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualPortLocation: + """Test VirtualPortLocation + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualPortLocation` + """ + model = VirtualPortLocation() + if include_optional: + return VirtualPortLocation( + ibx = '' + ) + else: + return VirtualPortLocation( + ) + """ + + def testVirtualPortLocation(self): + """Test VirtualPortLocation""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_port_price.py b/equinix/services/fabricv4/test/test_virtual_port_price.py new file mode 100644 index 00000000..ce1986ce --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_port_price.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_port_price import VirtualPortPrice + +class TestVirtualPortPrice(unittest.TestCase): + """VirtualPortPrice unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualPortPrice: + """Test VirtualPortPrice + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualPortPrice` + """ + model = VirtualPortPrice() + if include_optional: + return VirtualPortPrice( + uuid = '', + type = 'XF_PORT', + location = equinix.services.fabricv4.models.virtual_port_location.VirtualPortLocation( + ibx = '', ), + lag = equinix.services.fabricv4.models.link_aggregation_group.LinkAggregationGroup( + enabled = True, ), + physical_ports_quantity = 56, + bandwidth = 56, + redundancy = equinix.services.fabricv4.models.virtual_port_redundancy.VirtualPortRedundancy( + enabled = True, ), + connectivity_source = equinix.services.fabricv4.models.connectivity_source.ConnectivitySource( + type = 'COLO', ), + service_type = 'MSP', + settings = equinix.services.fabricv4.models.virtual_port_configuration.VirtualPortConfiguration( + buyout = True, ) + ) + else: + return VirtualPortPrice( + ) + """ + + def testVirtualPortPrice(self): + """Test VirtualPortPrice""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_port_redundancy.py b/equinix/services/fabricv4/test/test_virtual_port_redundancy.py new file mode 100644 index 00000000..462e0914 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_port_redundancy.py @@ -0,0 +1,52 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_port_redundancy import VirtualPortRedundancy + +class TestVirtualPortRedundancy(unittest.TestCase): + """VirtualPortRedundancy unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VirtualPortRedundancy: + """Test VirtualPortRedundancy + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VirtualPortRedundancy` + """ + model = VirtualPortRedundancy() + if include_optional: + return VirtualPortRedundancy( + enabled = True + ) + else: + return VirtualPortRedundancy( + ) + """ + + def testVirtualPortRedundancy(self): + """Test VirtualPortRedundancy""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_port_service_type.py b/equinix/services/fabricv4/test/test_virtual_port_service_type.py new file mode 100644 index 00000000..7f871d52 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_port_service_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_port_service_type import VirtualPortServiceType + +class TestVirtualPortServiceType(unittest.TestCase): + """VirtualPortServiceType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVirtualPortServiceType(self): + """Test VirtualPortServiceType""" + # inst = VirtualPortServiceType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_virtual_port_type.py b/equinix/services/fabricv4/test/test_virtual_port_type.py new file mode 100644 index 00000000..63585362 --- /dev/null +++ b/equinix/services/fabricv4/test/test_virtual_port_type.py @@ -0,0 +1,34 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.virtual_port_type import VirtualPortType + +class TestVirtualPortType(unittest.TestCase): + """VirtualPortType unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testVirtualPortType(self): + """Test VirtualPortType""" + # inst = VirtualPortType() + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4/test/test_vpic_interface.py b/equinix/services/fabricv4/test/test_vpic_interface.py new file mode 100644 index 00000000..7e4169f3 --- /dev/null +++ b/equinix/services/fabricv4/test/test_vpic_interface.py @@ -0,0 +1,53 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + + Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ + The version of the OpenAPI document: 4.14 + Contact: api-support@equinix.com + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from equinix.services.fabricv4.models.vpic_interface import VpicInterface + +class TestVpicInterface(unittest.TestCase): + """VpicInterface unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def make_instance(self, include_optional) -> VpicInterface: + """Test VpicInterface + include_option is a boolean, when False only required + params are included, when True both required and + optional params are included """ + # uncomment below to create an instance of `VpicInterface` + """ + model = VpicInterface() + if include_optional: + return VpicInterface( + href = '', + uuid = '' + ) + else: + return VpicInterface( + ) + """ + + def testVpicInterface(self): + """Test VpicInterface""" + # inst_req_only = self.make_instance(include_optional=False) + # inst_req_and_optional = self.make_instance(include_optional=True) + +if __name__ == '__main__': + unittest.main() diff --git a/equinix/services/fabricv4_README.md b/equinix/services/fabricv4_README.md new file mode 100644 index 00000000..9b38a3ea --- /dev/null +++ b/equinix/services/fabricv4_README.md @@ -0,0 +1,606 @@ +# equinix.services.fabricv4 +Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
+ +The `equinix.services.fabricv4` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: + +- API version: 4.14 +- Package version: 0.1.1 +- Generator version: 7.4.0 +- Build package: org.openapitools.codegen.languages.PythonClientCodegen +For more information, please visit [https://equinix.com/about/](https://equinix.com/about/) + +## Requirements. + +Python 3.7+ + +## Installation & Usage + +This python library package is generated without supporting files like setup.py or requirements files + +To be able to use it, you will need these dependencies in your own package that uses this library: + +* urllib3 >= 1.25.3 +* python-dateutil +* pydantic + +## Getting Started + +In your own code, to use this library to connect and interact with equinix.services.fabricv4, +you can run the following: + +```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.CloudRoutersApi(api_client) + cloud_router_post_request = equinix.services.fabricv4.CloudRouterPostRequest() # CloudRouterPostRequest | + + try: + # Create Routers + api_response = api_instance.create_cloud_router(cloud_router_post_request) + print("The response of CloudRoutersApi->create_cloud_router:\n") + pprint(api_response) + except ApiException as e: + print("Exception when calling CloudRoutersApi->create_cloud_router: %s\n" % e) + +``` + +## Documentation for API Endpoints + +All URIs are relative to *https://api.equinix.com* + +Class | Method | HTTP request | Description +------------ | ------------- | ------------- | ------------- +*CloudRoutersApi* | [**create_cloud_router**](equinix/services/fabricv4/docs/CloudRoutersApi.md#create_cloud_router) | **POST** /fabric/v4/routers | Create Routers +*CloudRoutersApi* | [**create_cloud_router_action**](equinix/services/fabricv4/docs/CloudRoutersApi.md#create_cloud_router_action) | **POST** /fabric/v4/routers/{routerId}/actions | Route table actions +*CloudRoutersApi* | [**delete_cloud_router_by_uuid**](equinix/services/fabricv4/docs/CloudRoutersApi.md#delete_cloud_router_by_uuid) | **DELETE** /fabric/v4/routers/{routerId} | Delete Routers +*CloudRoutersApi* | [**get_cloud_router_actions**](equinix/services/fabricv4/docs/CloudRoutersApi.md#get_cloud_router_actions) | **GET** /fabric/v4/routers/{routerId}/actions | Get actions +*CloudRoutersApi* | [**get_cloud_router_by_uuid**](equinix/services/fabricv4/docs/CloudRoutersApi.md#get_cloud_router_by_uuid) | **GET** /fabric/v4/routers/{routerId} | Get Routers +*CloudRoutersApi* | [**get_cloud_router_package_by_code**](equinix/services/fabricv4/docs/CloudRoutersApi.md#get_cloud_router_package_by_code) | **GET** /fabric/v4/routerPackages/{routerPackageCode} | Get Package Details +*CloudRoutersApi* | [**get_cloud_router_packages**](equinix/services/fabricv4/docs/CloudRoutersApi.md#get_cloud_router_packages) | **GET** /fabric/v4/routerPackages | List Packages +*CloudRoutersApi* | [**search_cloud_router_routes**](equinix/services/fabricv4/docs/CloudRoutersApi.md#search_cloud_router_routes) | **POST** /fabric/v4/routers/{routerId}/routes/search | Search Route Table +*CloudRoutersApi* | [**search_cloud_routers**](equinix/services/fabricv4/docs/CloudRoutersApi.md#search_cloud_routers) | **POST** /fabric/v4/routers/search | Search Routers +*CloudRoutersApi* | [**update_cloud_router_by_uuid**](equinix/services/fabricv4/docs/CloudRoutersApi.md#update_cloud_router_by_uuid) | **PATCH** /fabric/v4/routers/{routerId} | Update Routers +*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 +*ConnectionsApi* | [**get_connection_by_uuid**](equinix/services/fabricv4/docs/ConnectionsApi.md#get_connection_by_uuid) | **GET** /fabric/v4/connections/{connectionId} | Get Connection by ID +*ConnectionsApi* | [**search_connections**](equinix/services/fabricv4/docs/ConnectionsApi.md#search_connections) | **POST** /fabric/v4/connections/search | Search connections +*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 +*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 +*NetworksApi* | [**create_network**](equinix/services/fabricv4/docs/NetworksApi.md#create_network) | **POST** /fabric/v4/networks | Create Network +*NetworksApi* | [**delete_network_by_uuid**](equinix/services/fabricv4/docs/NetworksApi.md#delete_network_by_uuid) | **DELETE** /fabric/v4/networks/{networkId} | Delete Network By ID +*NetworksApi* | [**get_connections_by_network_uuid**](equinix/services/fabricv4/docs/NetworksApi.md#get_connections_by_network_uuid) | **GET** /fabric/v4/networks/{networkId}/connections | Get Connections +*NetworksApi* | [**get_network_by_uuid**](equinix/services/fabricv4/docs/NetworksApi.md#get_network_by_uuid) | **GET** /fabric/v4/networks/{networkId} | Get Network By ID +*NetworksApi* | [**get_network_change_by_uuid**](equinix/services/fabricv4/docs/NetworksApi.md#get_network_change_by_uuid) | **GET** /fabric/v4/networks/{networkId}/changes/{changeId} | Get Change By ID +*NetworksApi* | [**get_network_changes**](equinix/services/fabricv4/docs/NetworksApi.md#get_network_changes) | **GET** /fabric/v4/networks/{networkId}/changes | Get Network Changes +*NetworksApi* | [**search_networks**](equinix/services/fabricv4/docs/NetworksApi.md#search_networks) | **POST** /fabric/v4/networks/search | Search Network +*NetworksApi* | [**update_network_by_uuid**](equinix/services/fabricv4/docs/NetworksApi.md#update_network_by_uuid) | **PATCH** /fabric/v4/networks/{networkId} | Update Network By ID +*PortsApi* | [**add_to_lag**](equinix/services/fabricv4/docs/PortsApi.md#add_to_lag) | **POST** /fabric/v4/ports/{portId}/physicalPorts/bulk | Add to Lag +*PortsApi* | [**create_bulk_port**](equinix/services/fabricv4/docs/PortsApi.md#create_bulk_port) | **POST** /fabric/v4/ports/bulk | Create Port +*PortsApi* | [**create_port**](equinix/services/fabricv4/docs/PortsApi.md#create_port) | **POST** /fabric/v4/ports | Create Port +*PortsApi* | [**delete_port**](equinix/services/fabricv4/docs/PortsApi.md#delete_port) | **DELETE** /fabric/v4/ports/{portId} | Delete a single port +*PortsApi* | [**get_port_by_uuid**](equinix/services/fabricv4/docs/PortsApi.md#get_port_by_uuid) | **GET** /fabric/v4/ports/{portId} | Get Port by uuid +*PortsApi* | [**get_ports**](equinix/services/fabricv4/docs/PortsApi.md#get_ports) | **GET** /fabric/v4/ports | Get All Ports +*PortsApi* | [**get_vlans**](equinix/services/fabricv4/docs/PortsApi.md#get_vlans) | **GET** /fabric/v4/ports/{portUuid}/linkProtocols | Get Vlans +*PortsApi* | [**search_ports**](equinix/services/fabricv4/docs/PortsApi.md#search_ports) | **POST** /fabric/v4/ports/search | Search ports +*PrecisionTimeApi* | [**create_time_services**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#create_time_services) | **POST** /fabric/v4/timeServices | Create Time Service +*PrecisionTimeApi* | [**delete_time_service_by_id**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#delete_time_service_by_id) | **DELETE** /fabric/v4/timeServices/{serviceId} | Delete time service +*PrecisionTimeApi* | [**get_time_services_by_id**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#get_time_services_by_id) | **GET** /fabric/v4/timeServices/{serviceId} | Get Time Service +*PrecisionTimeApi* | [**get_time_services_connections_by_service_id**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#get_time_services_connections_by_service_id) | **GET** /fabric/v4/timeServices/{serviceId}/connections | Get Connection Links +*PrecisionTimeApi* | [**get_time_services_package_by_code**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#get_time_services_package_by_code) | **GET** /fabric/v4/timeServicePackages/{packageCode} | Get Package By Code +*PrecisionTimeApi* | [**get_time_services_packages**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#get_time_services_packages) | **GET** /fabric/v4/timeServicePackages | Get Packages +*PrecisionTimeApi* | [**update_time_services_by_id**](equinix/services/fabricv4/docs/PrecisionTimeApi.md#update_time_services_by_id) | **PATCH** /fabric/v4/timeServices/{serviceId} | Patch time service +*PricesApi* | [**search_prices**](equinix/services/fabricv4/docs/PricesApi.md#search_prices) | **POST** /fabric/v4/prices/search | Get Prices +*RouteFilterRulesApi* | [**create_route_filter_rule**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#create_route_filter_rule) | **POST** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | Create RFRule +*RouteFilterRulesApi* | [**create_route_filter_rules_in_bulk**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#create_route_filter_rules_in_bulk) | **POST** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk | Bulk RFRules +*RouteFilterRulesApi* | [**delete_route_filter_rule_by_uuid**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#delete_route_filter_rule_by_uuid) | **DELETE** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | DeleteRFRule +*RouteFilterRulesApi* | [**get_route_filter_rule_by_uuid**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#get_route_filter_rule_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | GetRFRule By UUID +*RouteFilterRulesApi* | [**get_route_filter_rule_change_by_uuid**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#get_route_filter_rule_change_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId} | Get Change By ID +*RouteFilterRulesApi* | [**get_route_filter_rule_changes**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#get_route_filter_rule_changes) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes | Get All Changes +*RouteFilterRulesApi* | [**get_route_filter_rules**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#get_route_filter_rules) | **GET** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules | GetRFRules +*RouteFilterRulesApi* | [**patch_route_filter_rule_by_uuid**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#patch_route_filter_rule_by_uuid) | **PATCH** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | PatchRFilterRule +*RouteFilterRulesApi* | [**replace_route_filter_rule_by_uuid**](equinix/services/fabricv4/docs/RouteFilterRulesApi.md#replace_route_filter_rule_by_uuid) | **PUT** /fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId} | ReplaceRFRule +*RouteFiltersApi* | [**attach_connection_route_filter**](equinix/services/fabricv4/docs/RouteFiltersApi.md#attach_connection_route_filter) | **PUT** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Attach Route Filter +*RouteFiltersApi* | [**create_route_filter**](equinix/services/fabricv4/docs/RouteFiltersApi.md#create_route_filter) | **POST** /fabric/v4/routeFilters | Create Route Filters +*RouteFiltersApi* | [**delete_route_filter_by_uuid**](equinix/services/fabricv4/docs/RouteFiltersApi.md#delete_route_filter_by_uuid) | **DELETE** /fabric/v4/routeFilters/{routeFilterId} | Delete Route Filter +*RouteFiltersApi* | [**detach_connection_route_filter**](equinix/services/fabricv4/docs/RouteFiltersApi.md#detach_connection_route_filter) | **DELETE** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Detach Route Filter +*RouteFiltersApi* | [**get_connection_route_filter_by_uuid**](equinix/services/fabricv4/docs/RouteFiltersApi.md#get_connection_route_filter_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId} | Get Route Filter +*RouteFiltersApi* | [**get_connection_route_filters**](equinix/services/fabricv4/docs/RouteFiltersApi.md#get_connection_route_filters) | **GET** /fabric/v4/connections/{connectionId}/routeFilters | Get All RouteFilters +*RouteFiltersApi* | [**get_route_filter_by_uuid**](equinix/services/fabricv4/docs/RouteFiltersApi.md#get_route_filter_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId} | Get Filter By UUID +*RouteFiltersApi* | [**get_route_filter_change_by_uuid**](equinix/services/fabricv4/docs/RouteFiltersApi.md#get_route_filter_change_by_uuid) | **GET** /fabric/v4/routeFilters/{routeFilterId}/changes/{changeId} | Get Change By ID +*RouteFiltersApi* | [**get_route_filter_changes**](equinix/services/fabricv4/docs/RouteFiltersApi.md#get_route_filter_changes) | **GET** /fabric/v4/routeFilters/{routeFilterId}/changes | Get All Changes +*RouteFiltersApi* | [**get_route_filter_connections**](equinix/services/fabricv4/docs/RouteFiltersApi.md#get_route_filter_connections) | **GET** /fabric/v4/routeFilters/{routeFilterId}/connections | Get Connections +*RouteFiltersApi* | [**patch_route_filter_by_uuid**](equinix/services/fabricv4/docs/RouteFiltersApi.md#patch_route_filter_by_uuid) | **PATCH** /fabric/v4/routeFilters/{routeFilterId} | Patch Route Filter +*RouteFiltersApi* | [**search_route_filters**](equinix/services/fabricv4/docs/RouteFiltersApi.md#search_route_filters) | **POST** /fabric/v4/routeFilters/search | Search Route Filters +*RoutingProtocolsApi* | [**create_connection_routing_protocol**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#create_connection_routing_protocol) | **POST** /fabric/v4/connections/{connectionId}/routingProtocols | Create Protocol +*RoutingProtocolsApi* | [**create_connection_routing_protocols_in_bulk**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#create_connection_routing_protocols_in_bulk) | **POST** /fabric/v4/connections/{connectionId}/routingProtocols/bulk | Bulk Create Protocol +*RoutingProtocolsApi* | [**delete_connection_routing_protocol_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#delete_connection_routing_protocol_by_uuid) | **DELETE** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Delete Protocol +*RoutingProtocolsApi* | [**get_connection_routing_protocol_all_bgp_actions**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#get_connection_routing_protocol_all_bgp_actions) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions | Get BGP Actions +*RoutingProtocolsApi* | [**get_connection_routing_protocol_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#get_connection_routing_protocol_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Get Protocol +*RoutingProtocolsApi* | [**get_connection_routing_protocols**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#get_connection_routing_protocols) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols | GetRoutingProtocols +*RoutingProtocolsApi* | [**get_connection_routing_protocols_bgp_action_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#get_connection_routing_protocols_bgp_action_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions/{actionId} | Get BGP Action +*RoutingProtocolsApi* | [**get_connection_routing_protocols_change_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#get_connection_routing_protocols_change_by_uuid) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes/{changeId} | Get Change By ID +*RoutingProtocolsApi* | [**get_connection_routing_protocols_changes**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#get_connection_routing_protocols_changes) | **GET** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes | Get Changes +*RoutingProtocolsApi* | [**patch_connection_routing_protocol_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#patch_connection_routing_protocol_by_uuid) | **PATCH** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Patch Protocol +*RoutingProtocolsApi* | [**post_connection_routing_protocol_bgp_action_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#post_connection_routing_protocol_bgp_action_by_uuid) | **POST** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions | Clear/Reset BGP +*RoutingProtocolsApi* | [**replace_connection_routing_protocol_by_uuid**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#replace_connection_routing_protocol_by_uuid) | **PUT** /fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId} | Replace Protocol +*RoutingProtocolsApi* | [**validate_routing_protocol**](equinix/services/fabricv4/docs/RoutingProtocolsApi.md#validate_routing_protocol) | **POST** /fabric/v4/routers/{routerId}/validate | Validate Subnet +*ServiceProfilesApi* | [**create_service_profile**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#create_service_profile) | **POST** /fabric/v4/serviceProfiles | Create Profile +*ServiceProfilesApi* | [**delete_service_profile_by_uuid**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#delete_service_profile_by_uuid) | **DELETE** /fabric/v4/serviceProfiles/{serviceProfileId} | Delete Profile +*ServiceProfilesApi* | [**get_service_profile_by_uuid**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#get_service_profile_by_uuid) | **GET** /fabric/v4/serviceProfiles/{serviceProfileId} | Get Profile +*ServiceProfilesApi* | [**get_service_profile_metros_by_uuid**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#get_service_profile_metros_by_uuid) | **GET** /fabric/v4/serviceProfiles/{serviceProfileId}/metros | Get Profile Metros +*ServiceProfilesApi* | [**get_service_profiles**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#get_service_profiles) | **GET** /fabric/v4/serviceProfiles | Get all Profiles +*ServiceProfilesApi* | [**put_service_profile_by_uuid**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#put_service_profile_by_uuid) | **PUT** /fabric/v4/serviceProfiles/{serviceProfileId} | Replace Profile +*ServiceProfilesApi* | [**search_service_profiles**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#search_service_profiles) | **POST** /fabric/v4/serviceProfiles/search | Profile Search +*ServiceProfilesApi* | [**update_service_profile_by_uuid**](equinix/services/fabricv4/docs/ServiceProfilesApi.md#update_service_profile_by_uuid) | **PATCH** /fabric/v4/serviceProfiles/{serviceProfileId} | Update Profile +*ServiceTokensApi* | [**create_service_token**](equinix/services/fabricv4/docs/ServiceTokensApi.md#create_service_token) | **POST** /fabric/v4/serviceTokens | Create Service Token +*ServiceTokensApi* | [**create_service_token_action**](equinix/services/fabricv4/docs/ServiceTokensApi.md#create_service_token_action) | **POST** /fabric/v4/serviceTokens/{serviceTokenId}/actions | ServiceToken Actions +*ServiceTokensApi* | [**delete_service_token_by_uuid**](equinix/services/fabricv4/docs/ServiceTokensApi.md#delete_service_token_by_uuid) | **DELETE** /fabric/v4/serviceTokens/{serviceTokenId} | Delete Token by uuid +*ServiceTokensApi* | [**get_service_token_by_uuid**](equinix/services/fabricv4/docs/ServiceTokensApi.md#get_service_token_by_uuid) | **GET** /fabric/v4/serviceTokens/{serviceTokenId} | Get Token by uuid +*ServiceTokensApi* | [**get_service_tokens**](equinix/services/fabricv4/docs/ServiceTokensApi.md#get_service_tokens) | **GET** /fabric/v4/serviceTokens | Get All Tokens +*ServiceTokensApi* | [**search_service_tokens**](equinix/services/fabricv4/docs/ServiceTokensApi.md#search_service_tokens) | **POST** /fabric/v4/serviceTokens/search | Search servicetokens +*ServiceTokensApi* | [**update_service_token_by_uuid**](equinix/services/fabricv4/docs/ServiceTokensApi.md#update_service_token_by_uuid) | **PATCH** /fabric/v4/serviceTokens/{serviceTokenId} | Update Token By ID +*StatisticsApi* | [**get_connection_stats_by_port_uuid**](equinix/services/fabricv4/docs/StatisticsApi.md#get_connection_stats_by_port_uuid) | **GET** /fabric/v4/connections/{connectionId}/stats | Get Stats by uuid +*StatisticsApi* | [**get_port_stats**](equinix/services/fabricv4/docs/StatisticsApi.md#get_port_stats) | **GET** /fabric/v4/ports/stats | Top Port Statistics +*StatisticsApi* | [**get_port_stats_by_port_uuid**](equinix/services/fabricv4/docs/StatisticsApi.md#get_port_stats_by_port_uuid) | **GET** /fabric/v4/ports/{portId}/stats | Get Stats by uuid + + +## Documentation For Models + + - [AccessPoint](equinix/services/fabricv4/docs/AccessPoint.md) + - [AccessPointSelector](equinix/services/fabricv4/docs/AccessPointSelector.md) + - [AccessPointSelectorType](equinix/services/fabricv4/docs/AccessPointSelectorType.md) + - [AccessPointType](equinix/services/fabricv4/docs/AccessPointType.md) + - [Account](equinix/services/fabricv4/docs/Account.md) + - [Actions](equinix/services/fabricv4/docs/Actions.md) + - [AddOperation](equinix/services/fabricv4/docs/AddOperation.md) + - [AdvanceConfiguration](equinix/services/fabricv4/docs/AdvanceConfiguration.md) + - [AllPhysicalPortsResponse](equinix/services/fabricv4/docs/AllPhysicalPortsResponse.md) + - [AllPortsResponse](equinix/services/fabricv4/docs/AllPortsResponse.md) + - [ApiConfig](equinix/services/fabricv4/docs/ApiConfig.md) + - [ApiServices](equinix/services/fabricv4/docs/ApiServices.md) + - [AuthenticationKey](equinix/services/fabricv4/docs/AuthenticationKey.md) + - [BGPActionData](equinix/services/fabricv4/docs/BGPActionData.md) + - [BGPActionRequest](equinix/services/fabricv4/docs/BGPActionRequest.md) + - [BGPActionStates](equinix/services/fabricv4/docs/BGPActionStates.md) + - [BGPActions](equinix/services/fabricv4/docs/BGPActions.md) + - [BGPActionsBulkData](equinix/services/fabricv4/docs/BGPActionsBulkData.md) + - [BGPConnectionIpv4](equinix/services/fabricv4/docs/BGPConnectionIpv4.md) + - [BGPConnectionIpv6](equinix/services/fabricv4/docs/BGPConnectionIpv6.md) + - [BGPConnectionOperation](equinix/services/fabricv4/docs/BGPConnectionOperation.md) + - [BGPConnectionOperationOperationalStatus](equinix/services/fabricv4/docs/BGPConnectionOperationOperationalStatus.md) + - [BandwidthUtilization](equinix/services/fabricv4/docs/BandwidthUtilization.md) + - [BandwidthUtilizationUnit](equinix/services/fabricv4/docs/BandwidthUtilizationUnit.md) + - [BulkPhysicalPort](equinix/services/fabricv4/docs/BulkPhysicalPort.md) + - [BulkPort](equinix/services/fabricv4/docs/BulkPort.md) + - [Change](equinix/services/fabricv4/docs/Change.md) + - [ChangeStatus](equinix/services/fabricv4/docs/ChangeStatus.md) + - [ChangeType](equinix/services/fabricv4/docs/ChangeType.md) + - [Changelog](equinix/services/fabricv4/docs/Changelog.md) + - [CloudRouter](equinix/services/fabricv4/docs/CloudRouter.md) + - [CloudRouterAccessPointState](equinix/services/fabricv4/docs/CloudRouterAccessPointState.md) + - [CloudRouterActionRequest](equinix/services/fabricv4/docs/CloudRouterActionRequest.md) + - [CloudRouterActionResponse](equinix/services/fabricv4/docs/CloudRouterActionResponse.md) + - [CloudRouterActionState](equinix/services/fabricv4/docs/CloudRouterActionState.md) + - [CloudRouterActionType](equinix/services/fabricv4/docs/CloudRouterActionType.md) + - [CloudRouterChange](equinix/services/fabricv4/docs/CloudRouterChange.md) + - [CloudRouterChangeOperation](equinix/services/fabricv4/docs/CloudRouterChangeOperation.md) + - [CloudRouterChangeStatus](equinix/services/fabricv4/docs/CloudRouterChangeStatus.md) + - [CloudRouterChangeType](equinix/services/fabricv4/docs/CloudRouterChangeType.md) + - [CloudRouterFilter](equinix/services/fabricv4/docs/CloudRouterFilter.md) + - [CloudRouterFilters](equinix/services/fabricv4/docs/CloudRouterFilters.md) + - [CloudRouterOrFilter](equinix/services/fabricv4/docs/CloudRouterOrFilter.md) + - [CloudRouterPackage](equinix/services/fabricv4/docs/CloudRouterPackage.md) + - [CloudRouterPackageNatType](equinix/services/fabricv4/docs/CloudRouterPackageNatType.md) + - [CloudRouterPackageType](equinix/services/fabricv4/docs/CloudRouterPackageType.md) + - [CloudRouterPostRequest](equinix/services/fabricv4/docs/CloudRouterPostRequest.md) + - [CloudRouterPostRequestPackage](equinix/services/fabricv4/docs/CloudRouterPostRequestPackage.md) + - [CloudRouterPostRequestPackageCode](equinix/services/fabricv4/docs/CloudRouterPostRequestPackageCode.md) + - [CloudRouterPostRequestPackageType](equinix/services/fabricv4/docs/CloudRouterPostRequestPackageType.md) + - [CloudRouterPostRequestType](equinix/services/fabricv4/docs/CloudRouterPostRequestType.md) + - [CloudRouterSearchRequest](equinix/services/fabricv4/docs/CloudRouterSearchRequest.md) + - [CloudRouterSimpleExpression](equinix/services/fabricv4/docs/CloudRouterSimpleExpression.md) + - [CloudRouterSortBy](equinix/services/fabricv4/docs/CloudRouterSortBy.md) + - [CloudRouterSortCriteria](equinix/services/fabricv4/docs/CloudRouterSortCriteria.md) + - [CloudRouterSortDirection](equinix/services/fabricv4/docs/CloudRouterSortDirection.md) + - [Code](equinix/services/fabricv4/docs/Code.md) + - [ConnectedMetro](equinix/services/fabricv4/docs/ConnectedMetro.md) + - [Connection](equinix/services/fabricv4/docs/Connection.md) + - [ConnectionAcceptanceData](equinix/services/fabricv4/docs/ConnectionAcceptanceData.md) + - [ConnectionAction](equinix/services/fabricv4/docs/ConnectionAction.md) + - [ConnectionActionRequest](equinix/services/fabricv4/docs/ConnectionActionRequest.md) + - [ConnectionChangeOperation](equinix/services/fabricv4/docs/ConnectionChangeOperation.md) + - [ConnectionCompanyProfile](equinix/services/fabricv4/docs/ConnectionCompanyProfile.md) + - [ConnectionDirection](equinix/services/fabricv4/docs/ConnectionDirection.md) + - [ConnectionInvitation](equinix/services/fabricv4/docs/ConnectionInvitation.md) + - [ConnectionLink](equinix/services/fabricv4/docs/ConnectionLink.md) + - [ConnectionLinkType](equinix/services/fabricv4/docs/ConnectionLinkType.md) + - [ConnectionOperation](equinix/services/fabricv4/docs/ConnectionOperation.md) + - [ConnectionOperationOperationalStatus](equinix/services/fabricv4/docs/ConnectionOperationOperationalStatus.md) + - [ConnectionPostRequest](equinix/services/fabricv4/docs/ConnectionPostRequest.md) + - [ConnectionPriority](equinix/services/fabricv4/docs/ConnectionPriority.md) + - [ConnectionRedundancy](equinix/services/fabricv4/docs/ConnectionRedundancy.md) + - [ConnectionResponse](equinix/services/fabricv4/docs/ConnectionResponse.md) + - [ConnectionRouteFilterData](equinix/services/fabricv4/docs/ConnectionRouteFilterData.md) + - [ConnectionRouteFilterDataAttachmentStatus](equinix/services/fabricv4/docs/ConnectionRouteFilterDataAttachmentStatus.md) + - [ConnectionRouteFilterDataDirection](equinix/services/fabricv4/docs/ConnectionRouteFilterDataDirection.md) + - [ConnectionRouteFilterDataType](equinix/services/fabricv4/docs/ConnectionRouteFilterDataType.md) + - [ConnectionRouteFiltersBase](equinix/services/fabricv4/docs/ConnectionRouteFiltersBase.md) + - [ConnectionRouteFiltersBaseDirection](equinix/services/fabricv4/docs/ConnectionRouteFiltersBaseDirection.md) + - [ConnectionRoutingProtocolPostRequest](equinix/services/fabricv4/docs/ConnectionRoutingProtocolPostRequest.md) + - [ConnectionSearchResponse](equinix/services/fabricv4/docs/ConnectionSearchResponse.md) + - [ConnectionSide](equinix/services/fabricv4/docs/ConnectionSide.md) + - [ConnectionSideAdditionalInfo](equinix/services/fabricv4/docs/ConnectionSideAdditionalInfo.md) + - [ConnectionState](equinix/services/fabricv4/docs/ConnectionState.md) + - [ConnectionType](equinix/services/fabricv4/docs/ConnectionType.md) + - [ConnectivitySource](equinix/services/fabricv4/docs/ConnectivitySource.md) + - [ConnectivitySourceType](equinix/services/fabricv4/docs/ConnectivitySourceType.md) + - [CustomField](equinix/services/fabricv4/docs/CustomField.md) + - [CustomFieldDataType](equinix/services/fabricv4/docs/CustomFieldDataType.md) + - [DirectConnectionIpv4](equinix/services/fabricv4/docs/DirectConnectionIpv4.md) + - [DirectConnectionIpv6](equinix/services/fabricv4/docs/DirectConnectionIpv6.md) + - [Direction](equinix/services/fabricv4/docs/Direction.md) + - [Duration](equinix/services/fabricv4/docs/Duration.md) + - [EquinixStatus](equinix/services/fabricv4/docs/EquinixStatus.md) + - [Error](equinix/services/fabricv4/docs/Error.md) + - [Expression](equinix/services/fabricv4/docs/Expression.md) + - [ExpressionOperator](equinix/services/fabricv4/docs/ExpressionOperator.md) + - [FabricCloudRouterCode](equinix/services/fabricv4/docs/FabricCloudRouterCode.md) + - [FabricCloudRouterPackages](equinix/services/fabricv4/docs/FabricCloudRouterPackages.md) + - [FabricCloudRouterPrice](equinix/services/fabricv4/docs/FabricCloudRouterPrice.md) + - [FabricConnectionUuid](equinix/services/fabricv4/docs/FabricConnectionUuid.md) + - [FilterBody](equinix/services/fabricv4/docs/FilterBody.md) + - [GeoCoordinates](equinix/services/fabricv4/docs/GeoCoordinates.md) + - [GeoScopeType](equinix/services/fabricv4/docs/GeoScopeType.md) + - [GetAllConnectionRouteFiltersResponse](equinix/services/fabricv4/docs/GetAllConnectionRouteFiltersResponse.md) + - [GetResponse](equinix/services/fabricv4/docs/GetResponse.md) + - [GetRouteFilterGetConnectionsResponse](equinix/services/fabricv4/docs/GetRouteFilterGetConnectionsResponse.md) + - [GetRouteFilterRulesResponse](equinix/services/fabricv4/docs/GetRouteFilterRulesResponse.md) + - [GetServiceProfilesViewPointParameter](equinix/services/fabricv4/docs/GetServiceProfilesViewPointParameter.md) + - [GetTimeServicesPackageByCodePackageCodeParameter](equinix/services/fabricv4/docs/GetTimeServicesPackageByCodePackageCodeParameter.md) + - [HealthResponse](equinix/services/fabricv4/docs/HealthResponse.md) + - [Interface](equinix/services/fabricv4/docs/Interface.md) + - [InterfaceType](equinix/services/fabricv4/docs/InterfaceType.md) + - [InternetAccess](equinix/services/fabricv4/docs/InternetAccess.md) + - [IpBlockPrice](equinix/services/fabricv4/docs/IpBlockPrice.md) + - [IpBlockType](equinix/services/fabricv4/docs/IpBlockType.md) + - [Ipv4](equinix/services/fabricv4/docs/Ipv4.md) + - [JsonPatchOperation](equinix/services/fabricv4/docs/JsonPatchOperation.md) + - [Link](equinix/services/fabricv4/docs/Link.md) + - [LinkAggregationGroup](equinix/services/fabricv4/docs/LinkAggregationGroup.md) + - [LinkProtocol](equinix/services/fabricv4/docs/LinkProtocol.md) + - [LinkProtocolConnection](equinix/services/fabricv4/docs/LinkProtocolConnection.md) + - [LinkProtocolDot1q](equinix/services/fabricv4/docs/LinkProtocolDot1q.md) + - [LinkProtocolEvpnVxlan](equinix/services/fabricv4/docs/LinkProtocolEvpnVxlan.md) + - [LinkProtocolGetResponse](equinix/services/fabricv4/docs/LinkProtocolGetResponse.md) + - [LinkProtocolIpv4Ipv6Config](equinix/services/fabricv4/docs/LinkProtocolIpv4Ipv6Config.md) + - [LinkProtocolQinq](equinix/services/fabricv4/docs/LinkProtocolQinq.md) + - [LinkProtocolRequestType](equinix/services/fabricv4/docs/LinkProtocolRequestType.md) + - [LinkProtocolResponse](equinix/services/fabricv4/docs/LinkProtocolResponse.md) + - [LinkProtocolServiceToken](equinix/services/fabricv4/docs/LinkProtocolServiceToken.md) + - [LinkProtocolState](equinix/services/fabricv4/docs/LinkProtocolState.md) + - [LinkProtocolType](equinix/services/fabricv4/docs/LinkProtocolType.md) + - [LinkProtocolUntagged](equinix/services/fabricv4/docs/LinkProtocolUntagged.md) + - [LinkProtocolVxlan](equinix/services/fabricv4/docs/LinkProtocolVxlan.md) + - [MarketingInfo](equinix/services/fabricv4/docs/MarketingInfo.md) + - [Md5](equinix/services/fabricv4/docs/Md5.md) + - [Md5Type](equinix/services/fabricv4/docs/Md5Type.md) + - [MetalInterconnection](equinix/services/fabricv4/docs/MetalInterconnection.md) + - [MetricInterval](equinix/services/fabricv4/docs/MetricInterval.md) + - [Metrics](equinix/services/fabricv4/docs/Metrics.md) + - [Metro](equinix/services/fabricv4/docs/Metro.md) + - [MetroError](equinix/services/fabricv4/docs/MetroError.md) + - [MetroErrorErrorCode](equinix/services/fabricv4/docs/MetroErrorErrorCode.md) + - [MetroErrorErrorMessage](equinix/services/fabricv4/docs/MetroErrorErrorMessage.md) + - [MetroResponse](equinix/services/fabricv4/docs/MetroResponse.md) + - [Network](equinix/services/fabricv4/docs/Network.md) + - [NetworkChange](equinix/services/fabricv4/docs/NetworkChange.md) + - [NetworkChangeOperation](equinix/services/fabricv4/docs/NetworkChangeOperation.md) + - [NetworkChangeResponse](equinix/services/fabricv4/docs/NetworkChangeResponse.md) + - [NetworkChangeStatus](equinix/services/fabricv4/docs/NetworkChangeStatus.md) + - [NetworkChangeType](equinix/services/fabricv4/docs/NetworkChangeType.md) + - [NetworkConnections](equinix/services/fabricv4/docs/NetworkConnections.md) + - [NetworkEquinixStatus](equinix/services/fabricv4/docs/NetworkEquinixStatus.md) + - [NetworkFilter](equinix/services/fabricv4/docs/NetworkFilter.md) + - [NetworkFilterOperator](equinix/services/fabricv4/docs/NetworkFilterOperator.md) + - [NetworkOperation](equinix/services/fabricv4/docs/NetworkOperation.md) + - [NetworkPostRequest](equinix/services/fabricv4/docs/NetworkPostRequest.md) + - [NetworkScope](equinix/services/fabricv4/docs/NetworkScope.md) + - [NetworkSearchFieldName](equinix/services/fabricv4/docs/NetworkSearchFieldName.md) + - [NetworkSearchRequest](equinix/services/fabricv4/docs/NetworkSearchRequest.md) + - [NetworkSearchResponse](equinix/services/fabricv4/docs/NetworkSearchResponse.md) + - [NetworkSortBy](equinix/services/fabricv4/docs/NetworkSortBy.md) + - [NetworkSortByResponse](equinix/services/fabricv4/docs/NetworkSortByResponse.md) + - [NetworkSortCriteria](equinix/services/fabricv4/docs/NetworkSortCriteria.md) + - [NetworkSortCriteriaResponse](equinix/services/fabricv4/docs/NetworkSortCriteriaResponse.md) + - [NetworkSortDirection](equinix/services/fabricv4/docs/NetworkSortDirection.md) + - [NetworkSortDirectionResponse](equinix/services/fabricv4/docs/NetworkSortDirectionResponse.md) + - [NetworkState](equinix/services/fabricv4/docs/NetworkState.md) + - [NetworkType](equinix/services/fabricv4/docs/NetworkType.md) + - [OpEnum](equinix/services/fabricv4/docs/OpEnum.md) + - [Order](equinix/services/fabricv4/docs/Order.md) + - [PackageChangeLog](equinix/services/fabricv4/docs/PackageChangeLog.md) + - [PackageResponse](equinix/services/fabricv4/docs/PackageResponse.md) + - [Pagination](equinix/services/fabricv4/docs/Pagination.md) + - [PaginationRequest](equinix/services/fabricv4/docs/PaginationRequest.md) + - [PeeringType](equinix/services/fabricv4/docs/PeeringType.md) + - [PhysicalPort](equinix/services/fabricv4/docs/PhysicalPort.md) + - [PhysicalPortType](equinix/services/fabricv4/docs/PhysicalPortType.md) + - [Port](equinix/services/fabricv4/docs/Port.md) + - [PortAdditionalInfo](equinix/services/fabricv4/docs/PortAdditionalInfo.md) + - [PortDemarcationPoint](equinix/services/fabricv4/docs/PortDemarcationPoint.md) + - [PortDevice](equinix/services/fabricv4/docs/PortDevice.md) + - [PortDeviceRedundancy](equinix/services/fabricv4/docs/PortDeviceRedundancy.md) + - [PortDeviceRedundancyPriority](equinix/services/fabricv4/docs/PortDeviceRedundancyPriority.md) + - [PortEncapsulation](equinix/services/fabricv4/docs/PortEncapsulation.md) + - [PortEncapsulationType](equinix/services/fabricv4/docs/PortEncapsulationType.md) + - [PortExpression](equinix/services/fabricv4/docs/PortExpression.md) + - [PortInterface](equinix/services/fabricv4/docs/PortInterface.md) + - [PortLag](equinix/services/fabricv4/docs/PortLag.md) + - [PortLoa](equinix/services/fabricv4/docs/PortLoa.md) + - [PortLoaType](equinix/services/fabricv4/docs/PortLoaType.md) + - [PortNotification](equinix/services/fabricv4/docs/PortNotification.md) + - [PortNotificationType](equinix/services/fabricv4/docs/PortNotificationType.md) + - [PortOperation](equinix/services/fabricv4/docs/PortOperation.md) + - [PortOperationOperationalStatus](equinix/services/fabricv4/docs/PortOperationOperationalStatus.md) + - [PortOrder](equinix/services/fabricv4/docs/PortOrder.md) + - [PortOrderPurchaseOrder](equinix/services/fabricv4/docs/PortOrderPurchaseOrder.md) + - [PortOrderPurchaseOrderSelectionType](equinix/services/fabricv4/docs/PortOrderPurchaseOrderSelectionType.md) + - [PortOrderSignature](equinix/services/fabricv4/docs/PortOrderSignature.md) + - [PortOrderSignatureDelegate](equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md) + - [PortOrderSignatureSignatory](equinix/services/fabricv4/docs/PortOrderSignatureSignatory.md) + - [PortPriority](equinix/services/fabricv4/docs/PortPriority.md) + - [PortRedundancy](equinix/services/fabricv4/docs/PortRedundancy.md) + - [PortResponse](equinix/services/fabricv4/docs/PortResponse.md) + - [PortResponseBmmrType](equinix/services/fabricv4/docs/PortResponseBmmrType.md) + - [PortResponseConnectivitySourceType](equinix/services/fabricv4/docs/PortResponseConnectivitySourceType.md) + - [PortResponsePhysicalPortsType](equinix/services/fabricv4/docs/PortResponsePhysicalPortsType.md) + - [PortResponseServiceType](equinix/services/fabricv4/docs/PortResponseServiceType.md) + - [PortSearchFieldName](equinix/services/fabricv4/docs/PortSearchFieldName.md) + - [PortSettings](equinix/services/fabricv4/docs/PortSettings.md) + - [PortSettingsPackageType](equinix/services/fabricv4/docs/PortSettingsPackageType.md) + - [PortSettingsSharedPortProduct](equinix/services/fabricv4/docs/PortSettingsSharedPortProduct.md) + - [PortSortBy](equinix/services/fabricv4/docs/PortSortBy.md) + - [PortSortCriteria](equinix/services/fabricv4/docs/PortSortCriteria.md) + - [PortSortDirection](equinix/services/fabricv4/docs/PortSortDirection.md) + - [PortState](equinix/services/fabricv4/docs/PortState.md) + - [PortTether](equinix/services/fabricv4/docs/PortTether.md) + - [PortType](equinix/services/fabricv4/docs/PortType.md) + - [PortV4SearchRequest](equinix/services/fabricv4/docs/PortV4SearchRequest.md) + - [PrecisionTimeChangeOperation](equinix/services/fabricv4/docs/PrecisionTimeChangeOperation.md) + - [PrecisionTimeChangeOperationOp](equinix/services/fabricv4/docs/PrecisionTimeChangeOperationOp.md) + - [PrecisionTimeChangeOperationPath](equinix/services/fabricv4/docs/PrecisionTimeChangeOperationPath.md) + - [PrecisionTimePackageRequest](equinix/services/fabricv4/docs/PrecisionTimePackageRequest.md) + - [PrecisionTimePackageResponse](equinix/services/fabricv4/docs/PrecisionTimePackageResponse.md) + - [PrecisionTimePackageResponseType](equinix/services/fabricv4/docs/PrecisionTimePackageResponseType.md) + - [PrecisionTimeServiceConnectionsResponse](equinix/services/fabricv4/docs/PrecisionTimeServiceConnectionsResponse.md) + - [PrecisionTimeServiceCreateResponse](equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponse.md) + - [PrecisionTimeServiceCreateResponseState](equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponseState.md) + - [PrecisionTimeServiceCreateResponseType](equinix/services/fabricv4/docs/PrecisionTimeServiceCreateResponseType.md) + - [PrecisionTimeServicePackagesResponse](equinix/services/fabricv4/docs/PrecisionTimeServicePackagesResponse.md) + - [PrecisionTimeServiceRequest](equinix/services/fabricv4/docs/PrecisionTimeServiceRequest.md) + - [PrecisionTimeServiceRequestType](equinix/services/fabricv4/docs/PrecisionTimeServiceRequestType.md) + - [Presence](equinix/services/fabricv4/docs/Presence.md) + - [Price](equinix/services/fabricv4/docs/Price.md) + - [PriceCategory](equinix/services/fabricv4/docs/PriceCategory.md) + - [PriceCharge](equinix/services/fabricv4/docs/PriceCharge.md) + - [PriceChargeType](equinix/services/fabricv4/docs/PriceChargeType.md) + - [PriceError](equinix/services/fabricv4/docs/PriceError.md) + - [PriceErrorAdditionalInfo](equinix/services/fabricv4/docs/PriceErrorAdditionalInfo.md) + - [PriceErrorErrorCode](equinix/services/fabricv4/docs/PriceErrorErrorCode.md) + - [PriceErrorErrorMessage](equinix/services/fabricv4/docs/PriceErrorErrorMessage.md) + - [PriceLocation](equinix/services/fabricv4/docs/PriceLocation.md) + - [PriceSearchResponse](equinix/services/fabricv4/docs/PriceSearchResponse.md) + - [PriceTermLength](equinix/services/fabricv4/docs/PriceTermLength.md) + - [ProcessStep](equinix/services/fabricv4/docs/ProcessStep.md) + - [ProductType](equinix/services/fabricv4/docs/ProductType.md) + - [Project](equinix/services/fabricv4/docs/Project.md) + - [ProviderStatus](equinix/services/fabricv4/docs/ProviderStatus.md) + - [PtpAdvanceConfiguration](equinix/services/fabricv4/docs/PtpAdvanceConfiguration.md) + - [PtpAdvanceConfigurationTimeScale](equinix/services/fabricv4/docs/PtpAdvanceConfigurationTimeScale.md) + - [PtpAdvanceConfigurationTransportMode](equinix/services/fabricv4/docs/PtpAdvanceConfigurationTransportMode.md) + - [QueryDirection](equinix/services/fabricv4/docs/QueryDirection.md) + - [RemoveOperation](equinix/services/fabricv4/docs/RemoveOperation.md) + - [ReplaceOperation](equinix/services/fabricv4/docs/ReplaceOperation.md) + - [RouteFilterChangeData](equinix/services/fabricv4/docs/RouteFilterChangeData.md) + - [RouteFilterChangeDataResponse](equinix/services/fabricv4/docs/RouteFilterChangeDataResponse.md) + - [RouteFilterConnectionsData](equinix/services/fabricv4/docs/RouteFilterConnectionsData.md) + - [RouteFilterRuleState](equinix/services/fabricv4/docs/RouteFilterRuleState.md) + - [RouteFilterRulesBase](equinix/services/fabricv4/docs/RouteFilterRulesBase.md) + - [RouteFilterRulesChange](equinix/services/fabricv4/docs/RouteFilterRulesChange.md) + - [RouteFilterRulesChangeData](equinix/services/fabricv4/docs/RouteFilterRulesChangeData.md) + - [RouteFilterRulesChangeDataResponse](equinix/services/fabricv4/docs/RouteFilterRulesChangeDataResponse.md) + - [RouteFilterRulesChangeOperation](equinix/services/fabricv4/docs/RouteFilterRulesChangeOperation.md) + - [RouteFilterRulesChangeType](equinix/services/fabricv4/docs/RouteFilterRulesChangeType.md) + - [RouteFilterRulesData](equinix/services/fabricv4/docs/RouteFilterRulesData.md) + - [RouteFilterRulesDataAction](equinix/services/fabricv4/docs/RouteFilterRulesDataAction.md) + - [RouteFilterRulesDataType](equinix/services/fabricv4/docs/RouteFilterRulesDataType.md) + - [RouteFilterRulesPatchRequestItem](equinix/services/fabricv4/docs/RouteFilterRulesPatchRequestItem.md) + - [RouteFilterRulesPostRequest](equinix/services/fabricv4/docs/RouteFilterRulesPostRequest.md) + - [RouteFilterState](equinix/services/fabricv4/docs/RouteFilterState.md) + - [RouteFiltersBase](equinix/services/fabricv4/docs/RouteFiltersBase.md) + - [RouteFiltersChange](equinix/services/fabricv4/docs/RouteFiltersChange.md) + - [RouteFiltersChangeOperation](equinix/services/fabricv4/docs/RouteFiltersChangeOperation.md) + - [RouteFiltersChangeType](equinix/services/fabricv4/docs/RouteFiltersChangeType.md) + - [RouteFiltersData](equinix/services/fabricv4/docs/RouteFiltersData.md) + - [RouteFiltersDataNotMatchedRuleAction](equinix/services/fabricv4/docs/RouteFiltersDataNotMatchedRuleAction.md) + - [RouteFiltersDataProject](equinix/services/fabricv4/docs/RouteFiltersDataProject.md) + - [RouteFiltersPatchRequestItem](equinix/services/fabricv4/docs/RouteFiltersPatchRequestItem.md) + - [RouteFiltersSearchBase](equinix/services/fabricv4/docs/RouteFiltersSearchBase.md) + - [RouteFiltersSearchBaseFilter](equinix/services/fabricv4/docs/RouteFiltersSearchBaseFilter.md) + - [RouteFiltersSearchFilterItem](equinix/services/fabricv4/docs/RouteFiltersSearchFilterItem.md) + - [RouteFiltersSearchFilterItemProperty](equinix/services/fabricv4/docs/RouteFiltersSearchFilterItemProperty.md) + - [RouteFiltersSearchResponse](equinix/services/fabricv4/docs/RouteFiltersSearchResponse.md) + - [RouteTableEntry](equinix/services/fabricv4/docs/RouteTableEntry.md) + - [RouteTableEntryConnection](equinix/services/fabricv4/docs/RouteTableEntryConnection.md) + - [RouteTableEntryFilter](equinix/services/fabricv4/docs/RouteTableEntryFilter.md) + - [RouteTableEntryFilters](equinix/services/fabricv4/docs/RouteTableEntryFilters.md) + - [RouteTableEntryOrFilter](equinix/services/fabricv4/docs/RouteTableEntryOrFilter.md) + - [RouteTableEntryProtocolType](equinix/services/fabricv4/docs/RouteTableEntryProtocolType.md) + - [RouteTableEntrySearchRequest](equinix/services/fabricv4/docs/RouteTableEntrySearchRequest.md) + - [RouteTableEntrySearchResponse](equinix/services/fabricv4/docs/RouteTableEntrySearchResponse.md) + - [RouteTableEntrySimpleExpression](equinix/services/fabricv4/docs/RouteTableEntrySimpleExpression.md) + - [RouteTableEntrySortBy](equinix/services/fabricv4/docs/RouteTableEntrySortBy.md) + - [RouteTableEntrySortCriteria](equinix/services/fabricv4/docs/RouteTableEntrySortCriteria.md) + - [RouteTableEntrySortDirection](equinix/services/fabricv4/docs/RouteTableEntrySortDirection.md) + - [RouteTableEntryState](equinix/services/fabricv4/docs/RouteTableEntryState.md) + - [RouteTableEntryType](equinix/services/fabricv4/docs/RouteTableEntryType.md) + - [RouterPackageCode](equinix/services/fabricv4/docs/RouterPackageCode.md) + - [RoutingProtocolBFD](equinix/services/fabricv4/docs/RoutingProtocolBFD.md) + - [RoutingProtocolBGPData](equinix/services/fabricv4/docs/RoutingProtocolBGPData.md) + - [RoutingProtocolBGPDataState](equinix/services/fabricv4/docs/RoutingProtocolBGPDataState.md) + - [RoutingProtocolBGPType](equinix/services/fabricv4/docs/RoutingProtocolBGPType.md) + - [RoutingProtocolBGPTypeType](equinix/services/fabricv4/docs/RoutingProtocolBGPTypeType.md) + - [RoutingProtocolBase](equinix/services/fabricv4/docs/RoutingProtocolBase.md) + - [RoutingProtocolChange](equinix/services/fabricv4/docs/RoutingProtocolChange.md) + - [RoutingProtocolChangeData](equinix/services/fabricv4/docs/RoutingProtocolChangeData.md) + - [RoutingProtocolChangeDataResponse](equinix/services/fabricv4/docs/RoutingProtocolChangeDataResponse.md) + - [RoutingProtocolChangeOperation](equinix/services/fabricv4/docs/RoutingProtocolChangeOperation.md) + - [RoutingProtocolChangeOperationOp](equinix/services/fabricv4/docs/RoutingProtocolChangeOperationOp.md) + - [RoutingProtocolChangeType](equinix/services/fabricv4/docs/RoutingProtocolChangeType.md) + - [RoutingProtocolData](equinix/services/fabricv4/docs/RoutingProtocolData.md) + - [RoutingProtocolDirectData](equinix/services/fabricv4/docs/RoutingProtocolDirectData.md) + - [RoutingProtocolDirectType](equinix/services/fabricv4/docs/RoutingProtocolDirectType.md) + - [RoutingProtocolDirectTypeType](equinix/services/fabricv4/docs/RoutingProtocolDirectTypeType.md) + - [RoutingProtocolOperation](equinix/services/fabricv4/docs/RoutingProtocolOperation.md) + - [SearchExpression](equinix/services/fabricv4/docs/SearchExpression.md) + - [SearchFieldName](equinix/services/fabricv4/docs/SearchFieldName.md) + - [SearchRequest](equinix/services/fabricv4/docs/SearchRequest.md) + - [SearchResponse](equinix/services/fabricv4/docs/SearchResponse.md) + - [ServiceMetro](equinix/services/fabricv4/docs/ServiceMetro.md) + - [ServiceMetros](equinix/services/fabricv4/docs/ServiceMetros.md) + - [ServiceProfile](equinix/services/fabricv4/docs/ServiceProfile.md) + - [ServiceProfileAccessPointCOLO](equinix/services/fabricv4/docs/ServiceProfileAccessPointCOLO.md) + - [ServiceProfileAccessPointCOLOType](equinix/services/fabricv4/docs/ServiceProfileAccessPointCOLOType.md) + - [ServiceProfileAccessPointType](equinix/services/fabricv4/docs/ServiceProfileAccessPointType.md) + - [ServiceProfileAccessPointTypeCOLO](equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeCOLO.md) + - [ServiceProfileAccessPointTypeEnum](equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeEnum.md) + - [ServiceProfileAccessPointTypeVD](equinix/services/fabricv4/docs/ServiceProfileAccessPointTypeVD.md) + - [ServiceProfileAccessPointVD](equinix/services/fabricv4/docs/ServiceProfileAccessPointVD.md) + - [ServiceProfileAccessPointVDType](equinix/services/fabricv4/docs/ServiceProfileAccessPointVDType.md) + - [ServiceProfileAndFilter](equinix/services/fabricv4/docs/ServiceProfileAndFilter.md) + - [ServiceProfileFilter](equinix/services/fabricv4/docs/ServiceProfileFilter.md) + - [ServiceProfileLinkProtocolConfig](equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfig.md) + - [ServiceProfileLinkProtocolConfigEncapsulation](equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfigEncapsulation.md) + - [ServiceProfileLinkProtocolConfigEncapsulationStrategy](equinix/services/fabricv4/docs/ServiceProfileLinkProtocolConfigEncapsulationStrategy.md) + - [ServiceProfileMetadata](equinix/services/fabricv4/docs/ServiceProfileMetadata.md) + - [ServiceProfileRequest](equinix/services/fabricv4/docs/ServiceProfileRequest.md) + - [ServiceProfileSearchRequest](equinix/services/fabricv4/docs/ServiceProfileSearchRequest.md) + - [ServiceProfileSimpleExpression](equinix/services/fabricv4/docs/ServiceProfileSimpleExpression.md) + - [ServiceProfileSortBy](equinix/services/fabricv4/docs/ServiceProfileSortBy.md) + - [ServiceProfileSortCriteria](equinix/services/fabricv4/docs/ServiceProfileSortCriteria.md) + - [ServiceProfileSortDirection](equinix/services/fabricv4/docs/ServiceProfileSortDirection.md) + - [ServiceProfileStateEnum](equinix/services/fabricv4/docs/ServiceProfileStateEnum.md) + - [ServiceProfileTypeEnum](equinix/services/fabricv4/docs/ServiceProfileTypeEnum.md) + - [ServiceProfileVisibilityEnum](equinix/services/fabricv4/docs/ServiceProfileVisibilityEnum.md) + - [ServiceProfiles](equinix/services/fabricv4/docs/ServiceProfiles.md) + - [ServiceToken](equinix/services/fabricv4/docs/ServiceToken.md) + - [ServiceTokenActionRequest](equinix/services/fabricv4/docs/ServiceTokenActionRequest.md) + - [ServiceTokenActions](equinix/services/fabricv4/docs/ServiceTokenActions.md) + - [ServiceTokenChangeOperation](equinix/services/fabricv4/docs/ServiceTokenChangeOperation.md) + - [ServiceTokenConnection](equinix/services/fabricv4/docs/ServiceTokenConnection.md) + - [ServiceTokenConnectionType](equinix/services/fabricv4/docs/ServiceTokenConnectionType.md) + - [ServiceTokenSearchExpression](equinix/services/fabricv4/docs/ServiceTokenSearchExpression.md) + - [ServiceTokenSearchExpressionOperator](equinix/services/fabricv4/docs/ServiceTokenSearchExpressionOperator.md) + - [ServiceTokenSearchFieldName](equinix/services/fabricv4/docs/ServiceTokenSearchFieldName.md) + - [ServiceTokenSearchRequest](equinix/services/fabricv4/docs/ServiceTokenSearchRequest.md) + - [ServiceTokenSide](equinix/services/fabricv4/docs/ServiceTokenSide.md) + - [ServiceTokenState](equinix/services/fabricv4/docs/ServiceTokenState.md) + - [ServiceTokenType](equinix/services/fabricv4/docs/ServiceTokenType.md) + - [ServiceTokens](equinix/services/fabricv4/docs/ServiceTokens.md) + - [SimplifiedAccount](equinix/services/fabricv4/docs/SimplifiedAccount.md) + - [SimplifiedAccountPortResponse](equinix/services/fabricv4/docs/SimplifiedAccountPortResponse.md) + - [SimplifiedLinkProtocol](equinix/services/fabricv4/docs/SimplifiedLinkProtocol.md) + - [SimplifiedLocation](equinix/services/fabricv4/docs/SimplifiedLocation.md) + - [SimplifiedLocationWithoutIBX](equinix/services/fabricv4/docs/SimplifiedLocationWithoutIBX.md) + - [SimplifiedMetadataEntity](equinix/services/fabricv4/docs/SimplifiedMetadataEntity.md) + - [SimplifiedNetwork](equinix/services/fabricv4/docs/SimplifiedNetwork.md) + - [SimplifiedNetworkChange](equinix/services/fabricv4/docs/SimplifiedNetworkChange.md) + - [SimplifiedNotification](equinix/services/fabricv4/docs/SimplifiedNotification.md) + - [SimplifiedNotificationType](equinix/services/fabricv4/docs/SimplifiedNotificationType.md) + - [SimplifiedPort](equinix/services/fabricv4/docs/SimplifiedPort.md) + - [SimplifiedServiceProfile](equinix/services/fabricv4/docs/SimplifiedServiceProfile.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) + - [SortDirection](equinix/services/fabricv4/docs/SortDirection.md) + - [SortItem](equinix/services/fabricv4/docs/SortItem.md) + - [SortItemDirection](equinix/services/fabricv4/docs/SortItemDirection.md) + - [SortItemProperty](equinix/services/fabricv4/docs/SortItemProperty.md) + - [Statistics](equinix/services/fabricv4/docs/Statistics.md) + - [StatisticsViewPoint](equinix/services/fabricv4/docs/StatisticsViewPoint.md) + - [SubInterface](equinix/services/fabricv4/docs/SubInterface.md) + - [TopUtilizedStatistics](equinix/services/fabricv4/docs/TopUtilizedStatistics.md) + - [ValidateRequest](equinix/services/fabricv4/docs/ValidateRequest.md) + - [ValidateRequestFilter](equinix/services/fabricv4/docs/ValidateRequestFilter.md) + - [ValidateRequestFilterAnd](equinix/services/fabricv4/docs/ValidateRequestFilterAnd.md) + - [ValidateSubnetResponse](equinix/services/fabricv4/docs/ValidateSubnetResponse.md) + - [ViewPoint](equinix/services/fabricv4/docs/ViewPoint.md) + - [VirtualConnectionBridgePackageCode](equinix/services/fabricv4/docs/VirtualConnectionBridgePackageCode.md) + - [VirtualConnectionPrice](equinix/services/fabricv4/docs/VirtualConnectionPrice.md) + - [VirtualConnectionPriceASide](equinix/services/fabricv4/docs/VirtualConnectionPriceASide.md) + - [VirtualConnectionPriceASideAccessPoint](equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPoint.md) + - [VirtualConnectionPriceASideAccessPointPort](equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPointPort.md) + - [VirtualConnectionPriceASideAccessPointPortSettings](equinix/services/fabricv4/docs/VirtualConnectionPriceASideAccessPointPortSettings.md) + - [VirtualConnectionPriceAccessPointType](equinix/services/fabricv4/docs/VirtualConnectionPriceAccessPointType.md) + - [VirtualConnectionPriceConnectionType](equinix/services/fabricv4/docs/VirtualConnectionPriceConnectionType.md) + - [VirtualConnectionPriceZSide](equinix/services/fabricv4/docs/VirtualConnectionPriceZSide.md) + - [VirtualConnectionPriceZSideAccessPoint](equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPoint.md) + - [VirtualConnectionPriceZSideAccessPointBridge](equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointBridge.md) + - [VirtualConnectionPriceZSideAccessPointBridgePackage](equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointBridgePackage.md) + - [VirtualConnectionPriceZSideAccessPointProfile](equinix/services/fabricv4/docs/VirtualConnectionPriceZSideAccessPointProfile.md) + - [VirtualDevice](equinix/services/fabricv4/docs/VirtualDevice.md) + - [VirtualDeviceType](equinix/services/fabricv4/docs/VirtualDeviceType.md) + - [VirtualNetwork](equinix/services/fabricv4/docs/VirtualNetwork.md) + - [VirtualPortConfiguration](equinix/services/fabricv4/docs/VirtualPortConfiguration.md) + - [VirtualPortLocation](equinix/services/fabricv4/docs/VirtualPortLocation.md) + - [VirtualPortPrice](equinix/services/fabricv4/docs/VirtualPortPrice.md) + - [VirtualPortRedundancy](equinix/services/fabricv4/docs/VirtualPortRedundancy.md) + - [VirtualPortServiceType](equinix/services/fabricv4/docs/VirtualPortServiceType.md) + - [VirtualPortType](equinix/services/fabricv4/docs/VirtualPortType.md) + - [VpicInterface](equinix/services/fabricv4/docs/VpicInterface.md) + + + +## Documentation For Authorization + + +Authentication schemes defined for the API: + +### BearerAuth + +- **Type**: Bearer authentication (JWT) + + +## Author + +api-support@equinix.com + + diff --git a/spec/services/fabricv4/oas3.fetched/swagger.yaml b/spec/services/fabricv4/oas3.fetched/swagger.yaml new file mode 100644 index 00000000..b56fdb6e --- /dev/null +++ b/spec/services/fabricv4/oas3.fetched/swagger.yaml @@ -0,0 +1,25926 @@ +openapi: 3.0.3 +info: + title: Equinix Fabric API v4 + description: 'Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
' + termsOfService: https://www.equinix.com/about/legal/terms + contact: + name: Equinix API Support + url: https://equinix.com/about/ + email: api-support@equinix.com + license: + name: Equinix Inc + url: https://developer.equinix.com/agreement + version: '4.14' +externalDocs: + description: Find more information on Equinix Developer Portal + url: https://developer.equinix.com +servers: + - url: https://api.equinix.com + description: Equinix Inc +security: + - BearerAuth: [] +tags: + - name: Cloud Routers + description: Cloud Routers Preview + - name: Connections + description: Connections + - name: Metros + description: Metros + - name: Ports + description: Ports + - name: Precision Time + description: Precision Time Preview + - name: Prices + description: Prices + - name: Routing Protocols + description: Routing Protocols + - name: Service Profiles + description: Service Profiles + - name: Service Tokens + description: Service Tokens + - name: Statistics + description: Statistics +paths: + /fabric/v4/connections: + post: + tags: + - Connections + summary: Create Connection + description: This API provides capability to create user's virtual connection + operationId: createConnection + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionPostRequest" + examples: + Colo2Colo-Dot1q2Dot1q: + $ref: "#/components/examples/COLO2COLOwithDot1q-Dot1q" + Colo2Colo-Dot1q2Dot1q-CRH: + $ref: "#/components/examples/COLO2COLOwithDot1q-Dot1q-CRH" + Colo2Colo-Dot1q2Qinq: + $ref: "#/components/examples/COLO2COLOwithDot1Q-QinQ" + Colo2Colo-Qinq2Qinq: + $ref: "#/components/examples/COLO2COLOwithQinq-Qinq" + Colo2Colo-Qinq2Dot1q: + $ref: "#/components/examples/COLO2COLOwithQinq-Dot1q" + Colo2Colo-AsResellerForSubCustomer: + $ref: "#/components/examples/COLO2COLO-AsReseller" + Colo2Colo-Epl: + $ref: "#/components/examples/COLO2COLO-EPL" + Colo2Colo-AccessEpl: + $ref: "#/components/examples/COLO2COLO-AccessEpl" + Colo2Sp-Generic: + $ref: "#/components/examples/COLO2SPwithDot1q" + Colo2Sp-NetworkEdgeGeneric: + $ref: "#/components/examples/COLO2SPwithDot1q" + Colo2Sp-Alibaba: + $ref: "#/components/examples/COLO2AlibabaSPwithDot1q" + Colo2Sp-Aws-Primary: + $ref: "#/components/examples/COLO2AWSSPwithDot1q-Primary" + Colo2Sp-AzureDot1Q: + $ref: "#/components/examples/COLO2AzureSPwithDot1q-Primary" + Colo2Sp-AzureQinq: + $ref: "#/components/examples/COLO2AzureSPwithQinq-Secondary" + Colo2Sp-Google: + $ref: "#/components/examples/COLO2GoogleSPwithDot1q" + Colo2Sp-Ibm_1.0: + $ref: "#/components/examples/COLO2IBM_1" + Colo2Sp-Ibm_2.0: + $ref: "#/components/examples/COLO2IBM_2" + Colo2Sp-Oracle: + $ref: "#/components/examples/COLO2OracleSPwithDot1q" + Colo2ServiceToken: + $ref: "#/components/examples/COLO2ServiceToken" + Colo2Network-EVPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithDot1q" + Colo2Network-EPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithEPL" + Vd2Network: + $ref: "#/components/examples/Vd2NETWORK" + Vd2Sp-Aws: + $ref: "#/components/examples/Vd2AwsSP" + Vd2Sp-Azure: + $ref: "#/components/examples/Vd2AzureSP" + Vd2Sp-Oracle: + $ref: "#/components/examples/Vd2OracleSP" + Vd2Sp-IBM_1.0: + $ref: "#/components/examples/Vd2Ibm_1" + Vd2Sp-IBM_2.0: + $ref: "#/components/examples/Vd2Ibm_2" + Vd2Sp-Alibaba: + $ref: "#/components/examples/Vd2AlibabaSP" + Vd2Sp-Google: + $ref: "#/components/examples/Vd2GoogleSP" + Vd2Sp-Primary: + $ref: "#/components/examples/Vd2Sp-Primary" + Vd2Sp-Secondary: + $ref: "#/components/examples/Vd2Sp-Secondary" + Vd2Colo: + $ref: "#/components/examples/Vd2Colo" + Vd2Colo-vlanTag: + $ref: "#/components/examples/Vd2ColoVlanTag" + Vd2Colo-vlanCTag: + $ref: "#/components/examples/Vd2Colo-VlanCTag" + Vd2ColoUntagged: + $ref: "#/components/examples/Vd2ColoUntagged" + Vd2ServiceToken: + $ref: "#/components/examples/Vd2ServiceToken" + Fcr2Colo: + $ref: "#/components/examples/Fcr2Colo" + Fcr2Sp-Google: + $ref: "#/components/examples/Fcr2Sp-Google" + Fcr2Sp-Azure: + $ref: "#/components/examples/Fcr2Sp-Azure" + Fcr2Sp-Generic: + $ref: "#/components/examples/Fcr2Sp-Generic" + Fcr2Sp-Generic-Redundant-Primary: + $ref: "#/components/examples/Fcr2Sp-Generic" + Fcr2Sp-Generic-Redundant-Secondary: + $ref: "#/components/examples/Fcr2Sp-Generic-Redundant-Secondary" + Fcr2Sp-Generic-Redundant-Primary-re-add: + $ref: "#/components/examples/Fcr2Sp-Generic-Redundant-Primary" + Fcr2Sp-Aws: + $ref: "#/components/examples/Fcr2Sp-Aws" + Fcr2Sp-Oracle: + $ref: "#/components/examples/Fcr2Sp-Oracle" + Fcr2Vd: + $ref: "#/components/examples/Fcr2Vd" + Fcr2Vd-Redundant-Secondary: + $ref: "#/components/examples/Fcr2Vd-Redundant-Secondary" + Fcr2IpWan: + $ref: "#/components/examples/Fcr2IpWan" + Fcr2MetalNetwork: + $ref: "#/components/examples/Fcr2Metal-Network" + AsideServiceToken2ColoWithDot1q: + $ref: "#/components/examples/AsideServiceToken2PortWithDot1q" + AsideServiceToken2ColoWithQinq: + $ref: "#/components/examples/AsideServiceToken2PortWithQinq" + AsideServiceToken2PrivateSP-NE: + $ref: "#/components/examples/AsideServiceToken2PrivateSP-NE" + AsideServiceToken2ZsideServiceToken: + $ref: "#/components/examples/AsideServiceToken2ZsideServiceToken" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws" + Metal2Sp-Azure: + $ref: "#/components/examples/Metal2Sp-Azure" + Metal2Sp-GCP: + $ref: "#/components/examples/Metal2Sp-GCP" + Metal2Sp-Oracle: + $ref: "#/components/examples/Metal2Sp-Oracle" + Metal2Sp-IBM: + $ref: "#/components/examples/Metal2Sp-IBM" + Metal2Port-Dot1Q: + $ref: "#/components/examples/Metal2Port-Dot1q" + Metal2Port-QinQ: + $ref: "#/components/examples/Metal2Port-Qinq" + Metal2Port-ZsideServiceToken: + $ref: "#/components/examples/Metal2ServiceToken" + Metal2Sp-Generic: + $ref: "#/components/examples/Metal2Sp-Generic" + MultiCloudNetwork2Sp-Aws: + $ref: "#/components/examples/MCNS2Sp-Aws" + Vd2IASp: + $ref: "#/components/examples/Vd2IAProfile-Request" + Fcr2Metal-Network: + $ref: "#/components/examples/Fcr2Metal-Network" + required: true + responses: + "201": + description: Accept Connection Request + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + Colo2Sp: + $ref: "#/components/examples/ConnectionExample" + Colo2Sp-Google: + $ref: "#/components/examples/COLO2GoogleSPwithDot1q-Response" + Colo2Sp-Alibaba: + $ref: "#/components/examples/COLO2AlibabaSP-Response" + Colo2Sp-IBM_1.0: + $ref: "#/components/examples/COLO2IBM_1" + Colo2Sp-IBM_2.0: + $ref: "#/components/examples/COLO2IBM_2" + Colo2Sp-Oracle: + $ref: "#/components/examples/COLO2OracleSP-Response" + Vd2Sp: + $ref: "#/components/examples/Vd2Sp-Response" + Vd2Token: + $ref: "#/components/examples/Vd2ServiceToken_Response" + Vd2Colo: + $ref: "#/components/examples/Vd2Colo-Response" + Vd2Colo-tag: + $ref: "#/components/examples/Vd2Colo-VlanTagResponse" + Vd2ColoUntagged: + $ref: "#/components/examples/Vd2ColoUntagged-Response" + Fcr2Sp: + $ref: "#/components/examples/Fcr2Sp-Response" + Fcr2Colo: + $ref: "#/components/examples/Fcr2Colo-ResponseExample" + Fcr2IpWan: + $ref: "#/components/examples/Fcr2IpWan-response" + ServiceToken2PortResponseDot1Q: + $ref: "#/components/examples/AsideServiceToken2PortResponseWithDot1q" + ServiceToken2PortResponseQinQ: + $ref: "#/components/examples/AsideServiceToken2PortResponseWithQinq" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws-Response" + Metal2Sp-Azure: + $ref: "#/components/examples/Metal2Sp-Azure-Response" + Metal2Sp-GCP: + $ref: "#/components/examples/Metal2Sp-GCP-Response" + Metal2Sp-Oracle: + $ref: "#/components/examples/Metal2Sp-Oracle-Response" + Metal2Sp-IBM: + $ref: "#/components/examples/Metal2Sp-IBM-Response" + Metal2Port-Dot1Q: + $ref: "#/components/examples/Metal2Port-Dot1q-Response" + Metal2Port-QinQ: + $ref: "#/components/examples/Metal2Port-Qinq-Response" + Metal2Port-ZsideServiceToken: + $ref: "#/components/examples/Metal2ServiceToken-Response" + Metal2Sp-Generic: + $ref: "#/components/examples/Metal2Sp-Generic-Response" + Fcr2Metal-Network: + $ref: "#/components/examples/Fcr2Metal-Network" + Colo2Network-EVPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithDot1q-Response" + Colo2Network-EPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithEPL-Response" + Vd2IASp: + $ref: "#/components/examples/Vd2IAProfile-Response" + Vd2Network: + $ref: "#/components/examples/Vd2NETWORK-Response" + Vd2Sp-Aws: + $ref: "#/components/examples/Vd2AwsSP-Response" + Vd2Sp-Azure: + $ref: "#/components/examples/Vd2AzureSP-Response" + Vd2Sp-Oracle: + $ref: "#/components/examples/Vd2OracleSP-Response" + Vd2Sp-IBM_1.0: + $ref: "#/components/examples/Vd2Ibm_1" + Vd2Sp-IBM_2.0: + $ref: "#/components/examples/Vd2Ibm_2" + Vd2Sp-Alibaba: + $ref: "#/components/examples/Vd2AlibabaSP-Response" + Vd2Sp-Google: + $ref: "#/components/examples/Vd2GoogleSP-Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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" + "405": + description: Method not allowed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/405" + "/fabric/v4/connections/{connectionId}": + get: + tags: + - Connections + summary: Get Connection by ID + description: The API provides capability to get user's virtual connection details (Service Tokens, Access Points, Link Protocols, etc) by it's connection ID (UUID) + operationId: getConnectionByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: direction + in: query + description: Connection Direction + required: false + schema: + $ref: "#/components/schemas/ConnectionDirection" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + nonGenericConnectionResponse: + $ref: "#/components/examples/NonGenericConnectionResponseExample" + genericConnectionResponse: + $ref: "#/components/examples/GenericConnectionResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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" + delete: + tags: + - Connections + summary: Delete by ID + description: Delete Connection by ID + operationId: deleteConnectionByUuid + parameters: + - name: connectionId + in: path + description: Connection UUID + required: true + schema: + $ref: "#/components/schemas/VirtualCircuitId" + responses: + "200": + description: Delete Connection Request + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + connectionExample: + $ref: "#/components/examples/ConnectionDeletionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400-delete" + "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-delete" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404" + "405": + description: Method not allowed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/405" + patch: + tags: + - Connections + summary: Update by ID + description: Update Connection by ID + operationId: updateConnectionByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/ConnectionUpdateRequest" + examples: + ConnectionUpdateNameRequest: + $ref: "#/components/examples/ConnectionUpdateNameRequest" + ConnectionUpdateBandwidthRequest: + $ref: "#/components/examples/ConnectionUpdateBandwidthRequest" + ConnectionAddAccessAndSecretKeyAWSRequest: + $ref: "#/components/examples/ConnectionAddAccessAndSecretKeyAWSRequest" + ConnectionAddRoutingRequest: + $ref: "#/components/examples/ConnectionAddRoutingRequest" + ConnectionMigrationAsideRequest: + $ref: "#/components/examples/ConnectionMigrationAsideRequest" + ConnectionUpdateNotificationEmailRequest: + $ref: "#/components/examples/ConnectionUpdateNotificationEmailRequest" + ConnectionMigrationAsideRequestForVirtualDevice: + $ref: "#/components/examples/ConnectionMigrationAsideVirtualDeviceRequest" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + connectionPatchExample: + $ref: "#/components/examples/ConnectionPatchResponse" + links: + Get Connection Details: + operationId: getConnectionByUuid + parameters: + connectionId: $response.body#/uuid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + "/fabric/v4/connections/{connectionId}/actions": + post: + tags: + - Connections + summary: Connection Actions + description: This API provides capability to accept/reject user's virtual connection + operationId: createConnectionAction + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionActionRequest" + examples: + ApproveGenericConnection: + $ref: "#/components/examples/Connection_Creation_Acceptance" + RejectGenericConnection: + $ref: "#/components/examples/Connection_Creation_Rejection" + ApproveBandwidthUpdate: + $ref: "#/components/examples/Connection_Update_Acceptance" + RejectBandwidthUpdate: + $ref: "#/components/examples/Connection_Update_Rejection" + AcceptDeleteConnection: + $ref: "#/components/examples/Connection_Deletion_Acceptance" + VcMigrationZSide: + $ref: "#/components/examples/Connection_Update_Request_VC_Migration" + BGPSync: + $ref: "#/components/examples/Connection_Provider_Status_Request" + AcceptZSide-NetworkEdge: + $ref: "#/components/examples/AcceptZSide_NetworkEdge_Request" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionAction" + examples: + connectionActionExample: + $ref: "#/components/examples/ConnectionActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + "/fabric/v4/connections/{connectionId}/routingProtocols": + get: + tags: + - Routing Protocols + summary: GetRoutingProtocols + description: This API provides capability to get Routing Protocols for connections + operationId: getConnectionRoutingProtocols + parameters: + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetResponse" + examples: + getAllRoutingProtocols: + $ref: "#/components/examples/RoutingProtocolGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Routing Protocols + summary: Create Protocol + description: This API provides capability to create Routing Protocol for connections + operationId: createConnectionRoutingProtocol + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolBase" + examples: + Fcr2ColoDirectRoutingOnly: + $ref: "#/components/examples/Fcr2ColoCreateDirect" + Fcr2ColoBGPRoutingOnly: + $ref: "#/components/examples/Fcr2ColoCreateBGP" + Fcr2GcpDirectRoutingOnly: + $ref: "#/components/examples/Fcr2GcpCreateDirect" + Fcr2GcpBGPRoutingOnly: + $ref: "#/components/examples/Fcr2GcpCreateBGP" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + bgpCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateBGPResponse" + directCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateDirectResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/bulk": + post: + tags: + - Routing Protocols + summary: Bulk Create Protocol + description: This API provides capability to create Routing Protocol for connections + operationId: createConnectionRoutingProtocolsInBulk + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRoutingProtocolPostRequest" + examples: + DirectRoutingOnly: + $ref: "#/components/examples/CreateRoutingWithDirectOnly" + BGPRoutingOnly: + $ref: "#/components/examples/CreateRoutingWithBGPOnly" + DirectAndBGPRouting: + $ref: "#/components/examples/CreateRoutingWithDirectAndBGP" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetResponse" + examples: + getAllRoutingProtocols: + $ref: "#/components/examples/RoutingProtocolGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_routing_protocol" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}": + get: + tags: + - Routing Protocols + summary: Get Protocol + description: This API provides capability to accept/reject user's virtual connection + operationId: getConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + bgpCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateBGPResponse" + directCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateDirectResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Routing Protocols + summary: Replace Protocol + description: This API provides capability to replace complete Routing Protocols on a virtual connection + operationId: replaceConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolBase" + examples: + DirectRoutingReplaceExample: + $ref: "#/components/examples/UpdateRoutingWithDirectOnly" + BGPRoutingReplaceExample: + $ref: "#/components/examples/UpdateRoutingWithBGPOnly" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + bgpReplaceResponse: + $ref: "#/components/examples/RoutingProtocolReplaceBGPResponse" + directReplaceResponse: + $ref: "#/components/examples/RoutingProtocolReplaceDirectResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Routing Protocols + summary: Delete Protocol + description: This API provides capability to delete Routing Protocols on virtual connection + operationId: deleteConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + directDeleteResponse: + $ref: "#/components/examples/RoutingProtocolDeleteDirectResponse" + bgpDeleteResponse: + $ref: "#/components/examples/RoutingProtocolDeleteBGPResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Routing Protocols + summary: Patch Protocol + description: This API provides capability to partially update Routing Protocols on a virtual connection + operationId: patchConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRoutingProtocolPatchRequest" + examples: + EnableIPv4PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolEnableIPv4" + EnableIPv6PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolEnableIPv6" + DisableIPv4PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolDisableIPv4" + DisableIPv6PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolDisableIPv6" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + EnableBGPResponse: + $ref: "#/components/examples/RoutingProtocolEnableBGPResponse" + DisableBGPResponse: + $ref: "#/components/examples/RoutingProtocolDisableBGPResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions": + get: + tags: + - Routing Protocols + summary: Get BGP Actions + description: This API provides capability to get all BGP actions status + operationId: getConnectionRoutingProtocolAllBgpActions + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric BGP Action object + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionsBulkData" + examples: + BGPActionsAllResponse: + $ref: "#/components/examples/BGPActionsBulkDataResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Routing Protocols + summary: Clear/Reset BGP + description: This API provides capability to clear/reset Routing Protocols BGP session + operationId: postConnectionRoutingProtocolBgpActionByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionRequest" + examples: + BGPSoftClearInAndOutBoundIPv4: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv4" + BGPSoftClearInAndOutBoundIPv6: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv6" + BGPSoftClearInBoundIPv4: + $ref: "#/components/examples/BGPSoftClearInBoundIPv4" + BGPSoftClearInBoundIPv6: + $ref: "#/components/examples/BGPSoftClearInBoundIPv6" + BGPHardResetIPv4: + $ref: "#/components/examples/BGPHardResetIPv4" + BGPHardResetIPv6: + $ref: "#/components/examples/BGPHardResetIPv6" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionData" + examples: + BGPActionHardResetIpV4: + $ref: "#/components/examples/BGPHardResetIPv4Response" + BGPActionHardResetIpV6: + $ref: "#/components/examples/BGPHardResetIPv6Response" + BGPActionSoftClearInAndOutIpV4: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv4Response" + BGPActionSoftClearInAndOutIpV6: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv6Response" + BGPActionSoftClearInIpV4: + $ref: "#/components/examples/BGPSoftClearInBoundIPv4Response" + BGPActionSoftClearInIpV6: + $ref: "#/components/examples/BGPSoftClearInBoundIPv6Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions/{actionId}": + get: + tags: + - Routing Protocols + summary: Get BGP Action + description: This API provides capability to retrieve specific BGP action + operationId: getConnectionRoutingProtocolsBgpActionByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: actionId + in: path + description: BGP Action UUID + required: true + schema: + $ref: "#/components/schemas/ActionId" + responses: + "200": + description: Fabric BGP Action object + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionData" + examples: + BGPActionResponse: + $ref: "#/components/examples/BGPActionDataResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes/{changeId}": + get: + tags: + - Routing Protocols + summary: Get Change By ID + description: This API provides capability to retrieve specific Routing Protocol Change + operationId: getConnectionRoutingProtocolsChangeByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId" + responses: + "200": + description: Fabric Routing Protocol Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolChangeData" + examples: + RoutingProtocolChangeResponse: + $ref: "#/components/examples/RoutingProtocolGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes": + get: + tags: + - Routing Protocols + summary: Get Changes + description: This API provides capability to retrieve user's Routing Protocol Changes + operationId: getConnectionRoutingProtocolsChanges + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Routing Protocol Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolChangeDataResponse" + examples: + RoutingProtocolChangesResponse: + $ref: "#/components/examples/RoutingProtocolGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/connections/search: + post: + tags: + - Connections + summary: Search connections + description: The API provides capability to get list of user's virtual connections using search criteria, including optional filtering, pagination and sorting + operationId: searchConnections + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SearchRequest" + examples: + ConnectionSearchDirection: + $ref: "#/components/examples/ConnectionSearchDirection" + ConnectionSearchIsremote: + $ref: "#/components/examples/ConnectionSearchIsremote" + ConnectionSearchName: + $ref: "#/components/examples/ConnectionSearchName" + ConnectionSearchUuid: + $ref: "#/components/examples/ConnectionSearchUuid" + ConnectionSearchCustorg: + $ref: "#/components/examples/ConnectionSearchCustorg" + ConnectionSearchAccountname: + $ref: "#/components/examples/ConnectionSearchAccountname" + ConnectionSearchCloudRouteruuid: + $ref: "#/components/examples/ConnectionSearchCloudRouteruuid" + ConnectionSearchAsidevlanstagctag: + $ref: "#/components/examples/ConnectionSearchAsidevlanstagctag" + ConnectionSearchAsidemetrocodemetroname: + $ref: "#/components/examples/ConnectionSearchAsidemetrocodemetroname" + ConnectionSearchAsideaccesspointname: + $ref: "#/components/examples/ConnectionSearchAsideaccesspointname" + ConnectionSearchAsideaccesspointuuid: + $ref: "#/components/examples/ConnectionSearchAsideaccesspointuuid" + ConnectionSearchAsideaccesspointtype: + $ref: "#/components/examples/ConnectionSearchAsideaccesspointtype" + ConnectionSearchAsidevirtualdevicename: + $ref: "#/components/examples/ConnectionSearchAsidevirtualdevicename" + ConnectionSearchAsidevirtualdeviceuuid: + $ref: "#/components/examples/ConnectionSearchAsidevirtualdeviceuuid" + ConnectionSearchAsideservicetokenuuid: + $ref: "#/components/examples/ConnectionSearchAsideservicetokenuuid" + ConnectionSearchChangestatus: + $ref: "#/components/examples/ConnectionSearchChangestatus" + ConnectionSearchUpdatedatetime: + $ref: "#/components/examples/ConnectionSearchUpdatedatetime" + ConnectionSearchEquinixstatus: + $ref: "#/components/examples/ConnectionSearchEquinixstatus" + ConnectionSearchProviderstatus: + $ref: "#/components/examples/ConnectionSearchProviderstatus" + ConnectionSearchProjectid: + $ref: "#/components/examples/ConnectionSearchProjectidOPtional-CRH" + ConnectionSearchRedundancygroup: + $ref: "#/components/examples/ConnectionSearchRedundancygroup" + ConnectionSearchRedundancypriority: + $ref: "#/components/examples/ConnectionSearchRedundancypriority" + ConnectionSearchZsidevlanstagctag: + $ref: "#/components/examples/ConnectionSearchZsidevlanstagctag" + ConnectionSearchZsidemetrocodemetroname: + $ref: "#/components/examples/ConnectionSearchZsidemetrocodemetroname" + ConnectionSearchZsideaccesspointname: + $ref: "#/components/examples/ConnectionSearchZsideaccesspointname" + ConnectionSearchZsideaccesspointuuid: + $ref: "#/components/examples/ConnectionSearchZsideaccesspointuuid" + ConnectionSearchZsideaccesspointtype: + $ref: "#/components/examples/ConnectionSearchZsideaccesspointtype" + ConnectionSearchZsidevirtualdevicename: + $ref: "#/components/examples/ConnectionSearchZsidevirtualdevicename" + ConnectionSearchZsidevirtualdeviceuuid: + $ref: "#/components/examples/ConnectionSearchZsidevirtualdeviceuuid" + ConnectionSearchZsideservicetokenuuid: + $ref: "#/components/examples/ConnectionSearchZsideservicetokenuuid" + ConnectionSearchZsideprofileuuid: + $ref: "#/components/examples/ConnectionSearchZsideprofileuuid" + ConnectionSearchANDwithNestedOR-LIKE: + $ref: "#/components/examples/ConnectionSearchANDwithNestedOR-LIKE" + ConnectionSearchORwithNestedAND: + $ref: "#/components/examples/ConnectionSearchORwithNestedAND" + ConnectionSearchANDwithNestedIN: + $ref: "#/components/examples/ConnectionSearchANDwithNestedIN" + ConnectionSearchANDClause: + $ref: "#/components/examples/ConnectionSearchANDClause" + ConnectionSearchANDwithNestedOR: + $ref: "#/components/examples/ConnectionSearchANDwithNestedOR" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionSearchResponse" + example: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + bandwidth: 1000 + direction: OUTGOING + isRemote: true + redundancy: + priority: PRIMARY + group: 7cf39156-9dec-40f7-a254-9bb401342e83 + aSide: + accessPoint: + type: COLO + uuid: b840a1db-5639-639f-97e0-328a5c00a874 + name: exmapple-access-point-name-aside + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + uuid: b840a1db-5639-639f-97e0-328a5c00a875 + name: exmapple-access-point-name-zside + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: MX + metroName: Mexico City + sellerRegion: us-west-1 + routingProtocols: + - type: EBGP + seqId: 03f7294b-42ce-42b6-9cc8-1e1b46d8183a + state: ACTIVE + customerAsn: 65500 + providerAsn: 65000 + bgpAuthKey: testAuthKey + ipv4: + customerPeerIp: 169.254.255.2/30 + providerPeerIp: 169.254.255.1/30 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONED + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + project: + projectId: 2c10d60e-29c1-4721-ad1a-b531f4e04717 + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + /fabric/v4/prices/search: + post: + tags: + - Prices + summary: Get Prices + description: Search prices by search criteria + operationId: searchPrices + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FilterBody" + examples: + virtualConnectionProductEvplVcTypeFromColoToColo: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromColoToColo" + virtualConnectionProductEvplVcTypeFromColoToColoByPortUuid: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromColoToColoByPortUuid" + virtualConnectionProductEvplVcTypeFromColoToSP: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromColoToSP" + virtualConnectionProductFcrVcTypeFromGWToSP: + $ref: "#/components/examples/VirtualConnectionProductGwVcTypeFromGWToSP" + virtualConnectionProductFcrVcTypeFromGWToColo: + $ref: "#/components/examples/VirtualConnectionProductGwVcTypeFromGWToColo" + virtualConnectionProductFcrVcTypeFromVDToColo: + $ref: "#/components/examples/VirtualConnectionProductGwVcTypeFromVDToColo" + virtualConnectionProductEvplVcTypeFromVDToColo: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromVDToColo" + virtualConnectionProductVdChainTypeFromVDToChaingroup: + $ref: "#/components/examples/VirtualConnectionProductVdChainTypeFromVDToChaingroup" + virtualConnectionProductOfflineEvplVcTypeFromColoToSp: + $ref: "#/components/examples/VirtualConnectionProductOfflineEvplVcTypeFromColoToSp" + virtualConnectionProductOfflineEvpLanVcTypeFromColoToNetwork: + $ref: "#/components/examples/VirtualConnectionProductEvpLanVcTypeFromColoToNetwork" + cloudRouterProduct: + $ref: "#/components/examples/FabricCloudRouterProduct" + ipBlockProduct: + $ref: "#/components/examples/IpBlockProduct" + virtualPortProduct: + $ref: "#/components/examples/VirtualPortProduct" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/PriceSearchResponse" + examples: + virtualConnection: + $ref: "#/components/examples/VirtualConnection" + ipBlock: + $ref: "#/components/examples/IpBlock" + cloudRouter: + $ref: "#/components/examples/FabricCloudRouter" + virtualPort: + $ref: "#/components/examples/VirtualPort" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/PriceErrorList" + examples: + example: + $ref: "#/components/examples/400_prices" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/PriceErrorList" + examples: + example: + $ref: "#/components/examples/500_prices" + "/fabric/v4/ports/{portId}/stats": + get: + tags: + - Statistics + summary: Get Stats by uuid + description: This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + operationId: getPortStatsByPortUuid + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + - name: startDateTime + in: query + description: startDateTime + required: true + schema: + $ref: "#/components/schemas/startDateTime" + example: 2020-11-06T07:00:00Z + - name: endDateTime + in: query + description: endDateTime + required: true + schema: + $ref: "#/components/schemas/endDateTime" + example: 2020-11-10T07:00:00Z + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Statistics" + examples: + statsExample: + $ref: "#/components/examples/200_port" + "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" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/ports/stats: + get: + tags: + - Statistics + summary: Top Port Statistics + description: This API provides top utilized service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + operationId: getPortStats + parameters: + - name: sort + in: query + description: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The "?" prefix indicates descending (DESC) order. + required: false + schema: + $ref: "#/components/schemas/sort" + - name: top + in: query + description: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + required: false + schema: + $ref: "#/components/schemas/top" + - name: duration + in: query + description: duration + required: false + schema: + $ref: "#/components/schemas/duration" + - name: direction + in: query + description: Direction of traffic from the requester's viewpoint. The default is outbound. + required: false + schema: + $ref: "#/components/schemas/query_direction" + - name: metricInterval + in: query + description: metricInterval + required: false + schema: + $ref: "#/components/schemas/metricInterval" + - name: metros + in: query + description: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. + required: true + schema: + $ref: "#/components/schemas/metros" + - name: projectId + in: query + description: projectId + required: false + schema: + $ref: "#/components/schemas/projectId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/TopUtilizedStatistics" + examples: + statsExample: + $ref: "#/components/examples/200_top" + "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" + "/fabric/v4/connections/{connectionId}/stats": + get: + tags: + - Statistics + summary: Get Stats by uuid + description: This API provides service-level metrics so that you can view access and gather key information required to manage service subscription sizing and capacity + operationId: getConnectionStatsByPortUuid + parameters: + - name: connectionId + in: path + description: Connection UUID + required: true + schema: + $ref: "#/components/schemas/VirtualCircuitId" + - name: startDateTime + in: query + description: startDateTime + required: true + schema: + $ref: "#/components/schemas/startDateTime" + example: 2020-11-06T07:00:00Z + - name: endDateTime + in: query + description: endDateTime + required: true + schema: + $ref: "#/components/schemas/endDateTime" + example: 2020-11-10T07:00:00Z + - name: viewPoint + in: query + description: viewPoint + required: true + schema: + $ref: "#/components/schemas/viewPoint" + example: aSide + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Statistics" + examples: + statsExample: + $ref: "#/components/examples/200_vc" + "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" + /fabric/v4/serviceProfiles: + get: + tags: + - Service Profiles + summary: Get all Profiles + description: The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. + operationId: getServiceProfiles + parameters: + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + - name: viewPoint + in: query + description: flips view between buyer and seller representation + schema: + type: string + default: aSide + enum: + - aSide + - zSide + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfiles" + examples: + ASideServiceProfile: + $ref: "#/components/examples/ServiceProfilesResponse" + ZSideServiceProfile: + $ref: "#/components/examples/SellerServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + post: + tags: + - Service Profiles + summary: Create Profile + description: Create Service Profile creates Equinix Fabric? Service Profile. + operationId: createServiceProfile + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileRequest" + examples: + ServiceProfileCreate: + $ref: "#/components/examples/ServiceProfileCreate" + ServiceProfileCreate-CRH: + $ref: "#/components/examples/ServiceProfileCreate-CRH" + required: true + responses: + "201": + description: Successful Create operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfileCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-create" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + /fabric/v4/serviceProfiles/search: + post: + tags: + - Service Profiles + summary: Profile Search + description: Search service profiles by search criteria + operationId: searchServiceProfiles + parameters: + - name: viewPoint + in: query + description: flips view between buyer and seller representation + schema: + type: string + default: aSide + enum: + - aSide + - zSide + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileSearchRequest" + examples: + ServiceProfileSearchWithUuid: + $ref: "#/components/examples/ServiceProfileSearchWithUuid" + ServiceProfileSearchWithName: + $ref: "#/components/examples/ServiceProfileSearchWithName" + ServiceProfileSearchWithState: + $ref: "#/components/examples/ServiceProfileSearchWithState" + ServiceProfileSearchWithVisibility: + $ref: "#/components/examples/ServiceProfileSearchWithVisibility" + ServiceProfileSearchWithProject: + $ref: "#/components/examples/ServiceProfileSearchWithProjectId" + ServiceProfileSearchWithPort: + $ref: "#/components/examples/ServiceProfileSearchWithPort" + ServiceProfileSearchWithMultipleFilter: + $ref: "#/components/examples/ServiceProfileSearchWithAnd" + required: true + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfiles" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400-search" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceProfiles/{serviceProfileId}": + get: + tags: + - Service Profiles + summary: Get Profile + description: Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view. + operationId: getServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: viewPoint + in: query + description: flips view between buyer and seller representation + schema: + type: string + default: aSide + enum: + - aSide + - zSide + responses: + "200": + description: Successful operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ASideServiceProfile: + $ref: "#/components/examples/ServiceProfileResponse" + ZSideServiceProfile: + $ref: "#/components/examples/SellerServiceProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + put: + tags: + - Service Profiles + summary: Replace Profile + description: This API request replaces a service profile definition + operationId: putServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: If-Match + in: header + description: conditional request + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileRequest" + examples: + ServiceProfileUpdate: + $ref: "#/components/examples/ServiceProfileUpdate" + required: true + responses: + "202": + description: Successful Put operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfilePutResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-update" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-404-get" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + delete: + tags: + - Service Profiles + summary: Delete Profile + description: delete Service Profile by UUID + operationId: deleteServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + responses: + "200": + description: Successful Delete operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfileDeleteResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400-delete" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-delete" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-404-get" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + patch: + tags: + - Service Profiles + summary: Update Profile + description: Update Service Profile by UUID + operationId: updateServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: If-Match + in: header + description: conditional request + required: true + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/JsonPatch" + examples: + ServiceProfilePatchRequest: + $ref: "#/components/examples/ServiceProfilePatchRequest" + required: true + responses: + "200": + description: Successful Patch operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfilePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-update" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-404-get" + "412": + description: Precondition Failed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-412" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros": + get: + tags: + - Service Profiles + summary: Get Profile Metros + description: Get service profile metros by UUID. + operationId: getServiceProfileMetrosByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceMetros" + examples: + ServiceProfileMetros: + $ref: "#/components/examples/ServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceTokens/{serviceTokenId}": + get: + tags: + - Service Tokens + summary: Get Token by uuid + description: Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties. + operationId: getServiceTokenByUuid + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + tokenExample: + $ref: "#/components/examples/getServiceToken" + tokenCrhExample: + $ref: "#/components/examples/getServiceToken-CRH" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_UUID" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + delete: + tags: + - Service Tokens + summary: Delete Token by uuid + description: Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state. + operationId: deleteServiceTokenByUuid + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + responses: + "204": + description: Deleted Service Token Successfully + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_UUID" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + patch: + tags: + - Service Tokens + summary: Update Token By ID + description: This API provides capability to update user's Service Token + operationId: updateServiceTokenByUuid + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/ServiceTokenUpdateRequest" + examples: + UpdateExpirationDate: + $ref: "#/components/examples/UpdateExpirationDate" + UpdateTokenName: + $ref: "#/components/examples/UpdateTokenName" + UpdateTokenDescription: + $ref: "#/components/examples/UpdateTokenDescription" + UpdateNotificationEmail: + $ref: "#/components/examples/UpdateNotificationEmail" + UpdateAsideTokenBandwidth: + $ref: "#/components/examples/UpdateAsideTokenBandwidth" + UpdateZsideTokenBandwidth: + $ref: "#/components/examples/UpdateZsideTokenBandwidth" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + tokenExample: + $ref: "#/components/examples/getServiceToken" + tokenCrhExample: + $ref: "#/components/examples/getServiceToken-CRH" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_UUID" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + /fabric/v4/serviceTokens: + get: + tags: + - Service Tokens + summary: Get All Tokens + description: Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account. + operationId: getServiceTokens + parameters: + - name: offset + in: query + description: offset + schema: + type: number + - name: limit + in: query + description: number of records to fetch + schema: + type: number + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokens" + examples: + tokenExample: + $ref: "#/components/examples/getServiceTokens" + tokenCrhExample: + $ref: "#/components/examples/getServiceTokens-CRH" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + post: + 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. + operationId: createServiceToken + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + AsideTokenWithQnQExample: + $ref: "#/components/examples/createServiceTokenWithQnQ" + AsideTokenWithDot1QExample: + $ref: "#/components/examples/createServiceTokenWithDot1Q" + AsideTokenWithVxlanExample: + $ref: "#/components/examples/createServiceTokenWithVxlan" + ZsideTokenWithQnQExample: + $ref: "#/components/examples/createZsideServiceTokenWithQnQ" + ZsideTokenWithQnQ-CrhExample: + $ref: "#/components/examples/createZsideServiceTokenWithQnQ-CRH" + ZsideTokenWithDot1QExample: + $ref: "#/components/examples/createZsideServiceTokenWithDot1Q" + ZsideTokenWithVxlanExample: + $ref: "#/components/examples/createZsideServiceTokenWithVxlan" + required: true + responses: + "201": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + tokenExample: + $ref: "#/components/examples/getServiceToken" + tokenCrhExample: + $ref: "#/components/examples/getServiceToken-CRH" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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" + "/fabric/v4/serviceTokens/{serviceTokenId}/actions": + post: + tags: + - Service Tokens + summary: ServiceToken Actions + description: This API provides capability to accept/reject user's servicetokens + operationId: createServiceTokenAction + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokenActionRequest" + examples: + ResendServiceToken: + $ref: "#/components/examples/Resend_Service_Token" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + connectionActionExample: + $ref: "#/components/examples/postServiceTokenActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + /fabric/v4/serviceTokens/search: + post: + tags: + - Service Tokens + summary: Search servicetokens + description: The API provides capability to get list of user's servicetokens using search criteria, including optional filtering, pagination and sorting + operationId: searchServiceTokens + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokenSearchRequest" + examples: + ServiceTokenRequest: + $ref: "#/components/examples/postServiceTokenSearchUuid" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokens" + examples: + servicetokenSearchExample: + $ref: "#/components/examples/getServiceTokens" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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_internal_error" + /fabric/v4/metros: + get: + tags: + - Metros + summary: Get all Metros + description: GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location. + operationId: getMetros + parameters: + - name: presence + in: query + description: User On Boarded Metros based on Fabric resource availability + required: false + schema: + $ref: "#/components/schemas/Presence" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/MetroResponse" + examples: + metroExample: + $ref: "#/components/examples/metro" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/400_metros" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/401_metros" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/500_metros" + "/fabric/v4/metros/{metroCode}": + get: + tags: + - Metros + summary: Get Metro by Code + description: GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location. . + operationId: getMetroByCode + parameters: + - name: metroCode + in: path + description: Metro Code + required: true + schema: + $ref: "#/components/schemas/MetroCode" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Metro" + examples: + metroExample: + $ref: "#/components/examples/metroByCode" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/400_metroCode" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/401_metros" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/500_metros" + /fabric/v4/ports: + get: + tags: + - Ports + summary: Get All Ports + description: Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection. + operationId: getPorts + parameters: + - name: name + in: query + description: port name to be provided if specific port(s) to be retrieved + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AllPortsResponse" + examples: + portExample: + $ref: "#/components/examples/ports" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + post: + tags: + - Ports + summary: Create Port + description: Creates Equinix Fabric? Port. + operationId: createPort + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Port" + examples: + COLOSinglePortNonLag: + $ref: "#/components/examples/COLOSinglePortNonLag" + COLOSinglePortLag: + $ref: "#/components/examples/COLOSinglePortLag" + COLOLagPortNewGroup: + $ref: "#/components/examples/COLOLagPortNewGroup" + COLOAddSecondaryPort: + $ref: "#/components/examples/COLOAddSecondaryPort" + REMOTESinglePortLag: + $ref: "#/components/examples/REMOTESinglePortNewGroupLagRequest" + BMMRSinglePortLag: + $ref: "#/components/examples/BMMRSinglePortLag" + BMMRSinglePortNoLag: + $ref: "#/components/examples/BMMRSinglePortNoLag" + BMMRAddSecondaryPort: + $ref: "#/components/examples/BMMRAddSecondaryPort" + BMMRLagPortNewGroup: + $ref: "#/components/examples/BMMRLagPortNewGroup" + required: true + responses: + "201": + description: Successful operation for COLO Single Port Non Lag + content: + application/json: + schema: + $ref: "#/components/schemas/Port" + examples: + portExample: + $ref: "#/components/examples/COLOSinglePortNonLagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/port-400" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/port-500" + /fabric/v4/ports/bulk: + post: + tags: + - Ports + summary: Create Port + description: Create Port creates Equinix Fabric? Port. Preview + operationId: createBulkPort + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkPort" + examples: + COLOBulkPort: + $ref: "#/components/examples/COLOBulkPort" + required: true + responses: + "201": + description: Successful operation for COLO Bulk Port + content: + application/json: + schema: + $ref: "#/components/schemas/AllPortsResponse" + examples: + bulkPortExample: + $ref: "#/components/examples/COLOBulkPortResponse" + "/fabric/v4/ports/{portId}/physicalPorts/bulk": + post: + tags: + - Ports + summary: Add to Lag + description: Add Physical Ports to Virtual Port. Preview + operationId: addToLag + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkPhysicalPort" + examples: + COLOAddToLag: + $ref: "#/components/examples/COLOAddToLag" + REMOTEAddToLag: + $ref: "#/components/examples/REMOTEAddToLag" + BMMRAddToLag: + $ref: "#/components/examples/BMMRAddToLag" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AllPhysicalPortsResponse" + examples: + COLOAddToLag: + $ref: "#/components/examples/COLOAddToLagResponse" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + "/fabric/v4/ports/{portId}": + get: + tags: + - Ports + summary: Get Port by uuid + description: Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection. + operationId: getPortByUuid + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Port" + examples: + portExample: + $ref: "#/components/examples/portByUUID" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + delete: + tags: + - Ports + summary: Delete a single port + description: The API provides capability to delete a single port + operationId: deletePort + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + responses: + "202": + description: Accepted + content: + application/json: + schema: + $ref: "#/components/schemas/Port" + examples: + portExample: + $ref: "#/components/examples/portDelete" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/ports/{portUuid}/linkProtocols": + get: + tags: + - Ports + summary: Get Vlans + description: The API provides capability to retrieve Vlans for a Port. + operationId: getVlans + parameters: + - name: portUuid + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + responses: + "200": + description: Get Vlans + content: + application/json: + schema: + $ref: "#/components/schemas/LinkProtocolGetResponse" + examples: + LinkProtocolQ1NQResponse: + $ref: "#/components/examples/LinkProtocolGetQinqResponseExample" + LinkProtocolDOT1QResponse: + $ref: "#/components/examples/LinkProtocolGetDot1qResponseExample" + LinkProtocolVlanRangeResponse: + $ref: "#/components/examples/LinkProtocolGetVlanRangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_portId" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403-port-access" + /fabric/v4/ports/search: + post: + tags: + - Ports + summary: Search ports + description: The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting + operationId: searchPorts + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PortV4SearchRequest" + examples: + PortSearchDirection: + $ref: "#/components/examples/PortSearchByProjectId" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AllPortsResponse" + examples: + portExample: + $ref: "#/components/examples/ports" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/connections/{connectionId}/routeFilters": + get: + tags: + - Route Filters + summary: Get All RouteFilters + description: This API provides capability to view all Route Filters attached to a Connection + operationId: getConnectionRouteFilters + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetAllConnectionRouteFiltersResponse" + examples: + ConnectionRouteFiltersResponse: + $ref: "#/components/examples/ConnectionRouteFiltersGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Route Filter + description: This API provides capability to view a specific Route Filter attached to a Connection + operationId: getConnectionRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + ConnectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filters + summary: Attach Route Filter + description: This API provides capability to attach a Route Filter to a Connection + operationId: attachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFiltersBase" + examples: + ConnectionRouteFilterAttachInboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterInbound" + ConnectionRouteFilterAttachOutboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterOutbound" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + ConnectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidDirection: + $ref: "#/components/examples/400_invalid_direction" + TransientState: + $ref: "#/components/examples/400_transient_state" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Detach Route Filter + description: This API provides capability to detach a Route Filter from a Connection + operationId: detachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + ConnectionRouteFilterDetachInboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterInboundResponse" + ConnectionRouteFilterDetachOutboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterOutboundResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_state" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routeFilters: + post: + tags: + - Route Filters + summary: Create Route Filters + description: This API provides capability to create a Route Filter + operationId: createRouteFilter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersBase" + examples: + RouteFilterBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4Prefix" + RouteFilterBgpIpv6Prefix: + $ref: "#/components/examples/RouteFilterCreateBgpIpv6Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + GetSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + TransientState: + $ref: "#/components/examples/400_transient_state" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Filter By UUID + description: This API provides capability to view a Route Filter by UUID + operationId: getRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + GetSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Delete Route Filter + description: This API provides capability to delete a Route Filter + operationId: deleteRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_attached_connection" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filters + summary: Patch Route Filter + description: This API provides capability to partially update a Route Filter + operationId: patchRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersPatchRequest" + examples: + RouteFilterNamePatchExample: + $ref: "#/components/examples/PatchRouteFilterName" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterNamePatchResponse: + $ref: "#/components/examples/RouteFilterNamePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes": + get: + tags: + - Route Filters + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter's Changes + operationId: getRouteFilterChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeDataResponse" + examples: + RouteFilterChangesResponse: + $ref: "#/components/examples/RouteFilterGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}": + get: + tags: + - Route Filters + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter's Changes + operationId: getRouteFilterChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_1" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/connections": + get: + tags: + - Route Filters + summary: Get Connections + description: This API provides capability to view all Connections using the Route Filter + operationId: getRouteFilterConnections + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterGetConnectionsResponse" + examples: + RouteFilterGetConnectionsResponse: + $ref: "#/components/examples/RouteFilterGetConnectionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routeFilters/search: + post: + tags: + - Route Filters + summary: Search Route Filters + description: This API provides capability to search Route Filters + operationId: searchRouteFilters + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersSearchBase" + examples: + searchRouteFiltersRequest: + $ref: "#/components/examples/SearchRouteFiltersRequest" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersSearchResponse" + examples: + SearchRouteFiltersResponse: + $ref: "#/components/examples/SearchRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules": + get: + tags: + - Route Filter Rules + summary: GetRFRules + description: This API provides capability to get all Route Filters Rules for Fabric + operationId: getRouteFilterRules + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilterRules: + $ref: "#/components/examples/RouteFilterRulesGetAll" + "400": + description: Resource not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Route Filter Rules + summary: Create RFRule + description: This API provides capability to create a Route Filter Rule + operationId: createRouteFilterRule + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterRuleBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4Prefix" + RouteFilterRuleBgpIpv6Prefix: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv6Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + GetSpecificRouteFilterRuleIpv4Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + GetSpecificRouteFilterRuleIpv6Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv6PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}": + get: + tags: + - Route Filter Rules + summary: GetRFRule By UUID + description: This API provides capability to view a Route Filter Rule by UUID + operationId: getRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + GetSpecificRouteFilterRuleIpv4Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + GetSpecificRouteFilterRuleIpv6Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv6PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filter Rules + summary: ReplaceRFRule + description: This API provides capability to replace a Route Filter Rule completely + operationId: replaceRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterIpv4ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterRuleIPv4" + RouteFilterIpv6ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterRuleIPv6" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + RouteFilterRuleIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv4Response" + routeFilterRuleIpv6ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv6Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filter Rules + summary: DeleteRFRule + description: This API provides capability to delete a Route Filter Rule + operationId: deleteRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + RouteFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterRuleDeleteBgpIpv4PrefixResponse" + routeFilterDeleteBgpIpv6PrefixResponse: + $ref: "#/components/examples/RouteFilterRuleDeleteBgpIpv6PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_filter" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filter Rules + summary: PatchRFilterRule + description: This API provides capability to partially update a Route Filter Rule + operationId: patchRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPatchRequest" + examples: + RouteFilterRuleName: + $ref: "#/components/examples/PatchRouteFilterRuleName" + RouteFilterRulePrefix: + $ref: "#/components/examples/PatchRouteFilterRulePrefix" + RouteFilterRulePrefixMatch: + $ref: "#/components/examples/PatchRouteFilterRulePrefixMatch" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + RouteFilterRuleIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv4Response" + routeFilterRuleIpv6ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv6Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes": + get: + tags: + - Route Filter Rules + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter Rule's Changes + operationId: getRouteFilterRuleChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Rule Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeDataResponse" + examples: + RouteFilterRuleChangesResponse: + $ref: "#/components/examples/RouteFilterRulesGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}": + get: + tags: + - Route Filter Rules + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter Rule's Changes + operationId: getRouteFilterRuleChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: changeId + in: path + description: Route Filter Rule Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_2" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterRuleGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk": + post: + tags: + - Route Filter Rules + summary: Bulk RFRules + description: This API provides capability to create bulk route filter rules + operationId: createRouteFilterRulesInBulk + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPostRequest" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilterRules: + $ref: "#/components/examples/RouteFilterRulesBulkResponse" + "400": + description: Resource not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "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/400" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routers: + post: + tags: + - Cloud Routers + summary: Create Routers + description: This API provides capability to create user's Cloud Routers + operationId: createCloudRouter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterPostRequest" + examples: + CreateLabPackage: + $ref: "#/components/examples/CreateLabPackage" + CreateProPackage: + $ref: "#/components/examples/CreateStandardPackage" + required: true + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouter" + examples: + cloudRouterResponse: + $ref: "#/components/examples/CloudRouterPostResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_package" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}": + get: + tags: + - Cloud Routers + summary: Get Routers + description: This API provides capability to retrieve user's Cloud Routers + operationId: getCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouter" + examples: + cloudRouterResponse: + $ref: "#/components/examples/CloudRouterResponseExample" + "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" + delete: + tags: + - Cloud Routers + summary: Delete Routers + description: This API provides capability to delete user's Cloud Routers + operationId: deleteCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + responses: + "204": + description: Deleted Cloud Router Successfully + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_state" + "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" + patch: + tags: + - Cloud Routers + summary: Update Routers + description: This API provides capability to update user's Cloud Routers + operationId: updateCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/CloudRouterUpdateRequest" + examples: + UpdatePackage: + $ref: "#/components/examples/UpdatePackage" + UpdateName: + $ref: "#/components/examples/UpdateName" + UpdateNotificationEmail: + $ref: "#/components/examples/UpdateNotifications" + required: true + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouter" + examples: + cloudRouterResponse: + $ref: "#/components/examples/CloudRouterPatchResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}/actions": + get: + tags: + - Cloud Routers + summary: Get actions + description: This API provides capability to fetch action status + operationId: getCloudRouterActions + parameters: + - name: routerId + in: path + description: Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId_1" + - name: state + in: query + description: Action state + schema: + $ref: "#/components/schemas/ActionState" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterActionResponse" + examples: + routerActionExample: + $ref: "#/components/examples/CloudRouterActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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" + "415": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + post: + tags: + - Cloud Routers + summary: Route table actions + description: This API provides capability to refresh route table and bgp session summary information + operationId: createCloudRouterAction + parameters: + - name: routerId + in: path + description: Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId_1" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterActionRequest" + examples: + RouteEntriesStatusUpdate: + $ref: "#/components/examples/RouteEntriesStatusUpdate" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterActionResponse" + examples: + cloudRouterActionExample: + $ref: "#/components/examples/CloudRouterActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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" + "415": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}/routes/search": + post: + tags: + - Cloud Routers + summary: Search Route Table + description: The API provides capability to get list of user's Fabric Cloud Router route table entries using search criteria, including optional filtering, pagination and sorting + operationId: searchCloudRouterRoutes + parameters: + - name: routerId + in: path + description: Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId_1" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteTableEntrySearchRequest" + examples: + SearchFilterByNextHop: + $ref: "#/components/examples/SearchFilterByNextHop" + SearchFilterByPrefix: + $ref: "#/components/examples/SearchFilterByPrefix" + SearchFilterByType: + $ref: "#/components/examples/SearchFilterByType" + SearchFilterByStatus: + $ref: "#/components/examples/SearchFilterByStatus" + SearchFilterOrAnd: + $ref: "#/components/examples/SearchFilterOrAnd" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteTableEntrySearchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_sorting" + "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" + "415": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}/validate": + post: + tags: + - Routing Protocols + summary: Validate Subnet + description: This API provides capability to validate all subnets associated with any connection in the given FCR + operationId: validateRoutingProtocol + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateRequest" + examples: + ValidateDirectIpv4: + $ref: "#/components/examples/Request-direct-ipv4" + ValidateDirectIpv6: + $ref: "#/components/examples/Request-direct-ipv6" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateSubnetResponse" + examples: + ValidateSubnet: + $ref: "#/components/examples/Response-200" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + Bad Request: + $ref: "#/components/examples/error-400" + Subnet Overlapping: + $ref: "#/components/examples/error-400-overlappingSubnet" + /fabric/v4/routers/search: + post: + tags: + - Cloud Routers + summary: Search Routers + description: The API provides capability to get list of user's Cloud Routers using search criteria, including optional filtering, pagination and sorting + operationId: searchCloudRouters + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterSearchRequest" + examples: + SearchFilterByStatus: + $ref: "#/components/examples/SearchFilterByStatus" + SearchFilterByNameAndMetroName: + $ref: "#/components/examples/SearchFilterByNameAndMetroName" + SearchFilterOrAnd: + $ref: "#/components/examples/SearchFilterOrAnd" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/SearchResponse" + examples: + Example: + $ref: "#/components/examples/search-example" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_sorting" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/routerPackages: + get: + tags: + - Cloud Routers + summary: List Packages + description: This API provides capability to retrieve user's Cloud Routers Packages + operationId: getCloudRouterPackages + parameters: + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Cloud Router Packages + content: + application/json: + schema: + $ref: "#/components/schemas/PackageResponse" + examples: + Example: + $ref: "#/components/examples/ListFCRPackagesResponse" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routerPackages/{routerPackageCode}": + get: + tags: + - Cloud Routers + summary: Get Package Details + description: This API provides capability to retrieve user's Cloud Routers Package Details + operationId: getCloudRouterPackageByCode + parameters: + - name: routerPackageCode + in: path + description: Equinix-assigned Cloud Router package identifier + required: true + schema: + $ref: "#/components/schemas/RouterPackageCode" + responses: + "200": + description: Fabric Cloud Router Package details + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterPackage" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_package" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/health: + get: + tags: + - Health + summary: Get service status + description: GET All service health statys with an option query parameter to return all Equinix Fabric customer in which the customer has a presence. + operationId: getStatus + parameters: [] + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/HealthResponse" + examples: + metroExample: + $ref: "#/components/examples/healthResponse" + /fabric/v4/connections/validate: + post: + tags: + - Connections + summary: Validate Connection + description: This API provides capability to validate by auth key + operationId: validateConnections + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateRequest" + examples: + Alibaba-ValidateAuthKey: + $ref: "#/components/examples/Request_Alibaba" + Aws-ValidateAuthKey: + $ref: "#/components/examples/Request_AWS" + Azure-ValidateAuthKey: + $ref: "#/components/examples/Request_Azure" + Google-ValidateAuthKey: + $ref: "#/components/examples/Request_Google" + IBM-1.0-ValidateAuthKey: + $ref: "#/components/examples/Request_IBM_1" + IBM-2.0-ValidateAuthKey: + $ref: "#/components/examples/Request_IBM_2" + Oracle-ValidateAuthKey: + $ref: "#/components/examples/Request_Oracle" + Dot1q-ValidateVlanAvailability: + $ref: "#/components/examples/Dot1q_Vlan" + Qinq-ValidateVlanAvailability: + $ref: "#/components/examples/Qinq_Vlan" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionResponse" + examples: + Alibaba-ValidateAuthKey: + $ref: "#/components/examples/Response-Alibaba" + Aws-ValidateAuthKey: + $ref: "#/components/examples/Response-Aws" + Azure-ValidateAuthKey-no-existing-connections: + $ref: "#/components/examples/Response-Azure-no-existing-connections" + Azure-ValidateAuthKey-1-existing-Dot1q-connection: + $ref: "#/components/examples/Response-Azure-1-existing-Dot1q-connection" + Azure-ValidateAuthKey-1-existing-Qinq-connection: + $ref: "#/components/examples/Response-Azure-1-existing-Qinq-connection" + Azure-ValidateAuthKey-2-existing-Dot1q-connection: + $ref: "#/components/examples/Response-Azure-2-existing-Dot1q-connections" + Google-ValidateAuthKey: + $ref: "#/components/examples/Response-Google" + IBM-1.0-ValidateAuthKey: + $ref: "#/components/examples/Response-IBM-1" + IBM-2.0-ValidateAuthKey: + $ref: "#/components/examples/Response-IBM-2" + Oracle-ValidateAuthKey: + $ref: "#/components/examples/Response-Oracle" + Dot1q-ValidateAuthKey: + $ref: "#/components/examples/Response-Dot1q-Vlan" + Qinq-ValidateAuthKey: + $ref: "#/components/examples/Response-Qinq-Vlan" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + Bad Request: + $ref: "#/components/examples/error-400" + /fabric/v4/networks: + post: + tags: + - Networks + summary: Create Network + description: This API provides capability to create user's Fabric Network + operationId: createNetwork + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkPostRequest" + examples: + CreateGlobalNetwork: + $ref: "#/components/examples/CreateGlobalNetwork" + CreateRegionalNetwork: + $ref: "#/components/examples/CreateRegionalNetwork" + CreateLocalNetwork: + $ref: "#/components/examples/CreateLocalNetwork" + required: true + responses: + "202": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkPostResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/networks/{networkId}": + get: + tags: + - Networks + summary: Get Network By ID + description: This API provides capability to retrieve user's Fabric Network + operationId: getNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkGetResponseExample" + "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" + delete: + tags: + - Networks + summary: Delete Network By ID + description: This API provides capability to delete user's Fabric Network + operationId: deleteNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "202": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkDeleteResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_state" + "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" + patch: + tags: + - Networks + summary: Update Network By ID + description: This API provides capability to update user's Fabric Network + operationId: updateNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/NetworkUpdateRequest" + examples: + UpdateName: + $ref: "#/components/examples/UpdateNetworkName" + UpdateNotificationEmail: + $ref: "#/components/examples/UpdateNetworkNotifications" + required: true + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkPatchResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_state" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + /fabric/v4/networks/search: + post: + tags: + - Networks + summary: Search Network + description: The API provides capability to get list of user's Fabric Network using search criteria, including optional filtering, pagination and sorting + operationId: searchNetworks + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkSearchRequest" + examples: + SearchFilterByStatus: + $ref: "#/components/examples/SearchFilterByStatus" + SearchFilterOrAnd: + $ref: "#/components/examples/SearchFilterOrAnd" + required: true + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkSearchResponse" + examples: + networkResponse: + $ref: "#/components/examples/NetworkSearchResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_sorting" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "/fabric/v4/networks/{networkId}/connections": + get: + tags: + - Networks + summary: Get Connections + description: The API provides capability to get list of user's Fabric Network connections + operationId: getConnectionsByNetworkUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkConnections" + examples: + networkResponse: + $ref: "#/components/examples/GetNetworkConnectionExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_uuid" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "/fabric/v4/networks/{networkId}/changes": + get: + tags: + - Networks + summary: Get Network Changes + description: The API provides capability to get list of user's Fabric Network changes + operationId: getNetworkChanges + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkChangeResponse" + examples: + networkResponse: + $ref: "#/components/examples/NetworkChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_uuid" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "/fabric/v4/networks/{networkId}/changes/{changeId}": + get: + tags: + - Networks + summary: Get Change By ID + description: This API provides capability to retrieve user's Fabric Network Change + operationId: getNetworkChangeByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + - name: changeId + in: path + description: Network Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_3" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkChange" + examples: + networkResponse: + $ref: "#/components/examples/NetworkGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_uuid" + "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" + "/fabric/v4/timeServices/{serviceId}": + get: + tags: + - Precision Time + summary: Get Time Service + description: The API provides capability to get precision timing service's details + operationId: getTimeServicesById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + MandatoryName: + $ref: "#/components/examples/400-Mandatory-Name" + InvalidName: + $ref: "#/components/examples/400-Invalid-Name" + ValidateName: + $ref: "#/components/examples/400-Validate-Name" + DuplicateName: + $ref: "#/components/examples/400-Duplicate-Name" + MandatoryConnectionUuid: + $ref: "#/components/examples/400-Mandatory-ConnectionUUid" + InvalidConnectionUuidFormat: + $ref: "#/components/examples/400-Invalid-ConnectionUuid-Format" + InvalidConnectionStatus: + $ref: "#/components/examples/400-Invalid-Connection-Status" + ValidateConnectionUuid: + $ref: "#/components/examples/400-Validate-ConnectionUuid" + InvalidConnectionLocation: + $ref: "#/components/examples/400-Invalid-Connection-Location" + MandatoryPackageType: + $ref: "#/components/examples/400-Mandatory-PackageType" + InvalidPackageType: + $ref: "#/components/examples/400-Invalid-PackageType" + InvalidConnectionPackageType: + $ref: "#/components/examples/400-Invalid-Connection-PackageType" + MandatoryPackage: + $ref: "#/components/examples/400-Mandatory-Package" + InvalidPackage: + $ref: "#/components/examples/400-Invalid-Package" + InvalidConnectionPackage: + $ref: "#/components/examples/400-Invalid-Connection-Package" + MandatoryPrimaryIP: + $ref: "#/components/examples/400-Mandatory-PrimaryIP" + InvalidPrimaryIPFormat: + $ref: "#/components/examples/400-Invalid-PrimaryIP-Format" + ValidatePrimaryIP: + $ref: "#/components/examples/400-Validate-PrimaryIP" + MandatorySecondaryIP: + $ref: "#/components/examples/400-Mandatory-SecondaryIP" + InvalidSecondaryIPFormat: + $ref: "#/components/examples/400-Invalid-SecondaryIP-Format" + ValidateSecondaryIP: + $ref: "#/components/examples/400-Validate-SecondaryIP" + ValidateSameSubnet: + $ref: "#/components/examples/400-Validate-SameSubnet" + MandatoryNetworkMask: + $ref: "#/components/examples/400-Mandatory-NetworkMask" + InvalidNetworkMaskFormat: + $ref: "#/components/examples/400-Invalid-NetworkMask-Format" + ValidateNetworkMask: + $ref: "#/components/examples/400-Validate-NetworkMask" + InvalidDefaultGatewayFormat: + $ref: "#/components/examples/400-Invalid-DefaultGateway-Format" + ValidateDefaultGateway: + $ref: "#/components/examples/400-Validate-DefaultGateway" + InvalidTimeScale: + $ref: "#/components/examples/400-Invalid-TimeScale" + InvalidDomain: + $ref: "#/components/examples/400-Invalid-Domain" + InvalidPriority1: + $ref: "#/components/examples/400-Invalid-Priority1" + InvalidPriority2: + $ref: "#/components/examples/400-Invalid-Priority2" + InvalidLogAnnounceInterval: + $ref: "#/components/examples/400-Invalid-LogAnnounceInterval" + ValidateLogAnnounceIntervalRange: + $ref: "#/components/examples/400-Validate-LogAnnounceInterval-Range" + InvalidLogSyncInterval: + $ref: "#/components/examples/400-Invalid-LogSyncInterval" + ValidateLogSyncIntervalRange: + $ref: "#/components/examples/400-Validate-LogSyncInterval-Range" + InvalidLogDelayReqInterval: + $ref: "#/components/examples/400-Invalid-LogDelayReqInterval" + ValidateLogDelayReqIntervalRange: + $ref: "#/components/examples/400-Validate-LogDelayReqInterval-Range" + InvalidTransportMode: + $ref: "#/components/examples/400-Invalid-TransportMode" + InvalidGrantTime: + $ref: "#/components/examples/400-Invalid-GrantTime" + ValidateGrantTimeRange: + $ref: "#/components/examples/400-Validate-GrantTime-Range" + InvalidType: + $ref: "#/components/examples/400-Invalid-Type" + InvalidId: + $ref: "#/components/examples/400-Invalid-Id" + InvalidPassword: + $ref: "#/components/examples/400-Invalid-Password" + ValidatePassword: + $ref: "#/components/examples/400-Validate-Password" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + delete: + tags: + - Precision Time + summary: Delete time service + description: Delete EPT service by it's uuid + operationId: deleteTimeServiceById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + patch: + tags: + - Precision Time + summary: Patch time service + description: The API provides capability to update timing service + operationId: updateTimeServicesById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + requestBody: + content: + application/json-patch+json: + schema: + maxItems: 1 + minItems: 1 + type: array + items: + $ref: "#/components/schemas/precisionTimeChangeOperation" + examples: + editName: + $ref: "#/components/examples/edit" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + MandatoryName: + $ref: "#/components/examples/400-Mandatory-Name" + InvalidName: + $ref: "#/components/examples/400-Invalid-Name" + ValidateName: + $ref: "#/components/examples/400-Validate-Name" + DuplicateName: + $ref: "#/components/examples/400-Duplicate-Name" + MandatoryConnectionUuid: + $ref: "#/components/examples/400-Mandatory-ConnectionUUid" + InvalidConnectionUuidFormat: + $ref: "#/components/examples/400-Invalid-ConnectionUuid-Format" + InvalidConnectionStatus: + $ref: "#/components/examples/400-Invalid-Connection-Status" + ValidateConnectionUuid: + $ref: "#/components/examples/400-Validate-ConnectionUuid" + InvalidConnectionLocation: + $ref: "#/components/examples/400-Invalid-Connection-Location" + MandatoryPackageType: + $ref: "#/components/examples/400-Mandatory-PackageType" + InvalidPackageType: + $ref: "#/components/examples/400-Invalid-PackageType" + InvalidConnectionPackageType: + $ref: "#/components/examples/400-Invalid-Connection-PackageType" + MandatoryPackage: + $ref: "#/components/examples/400-Mandatory-Package" + InvalidPackage: + $ref: "#/components/examples/400-Invalid-Package" + InvalidConnectionPackage: + $ref: "#/components/examples/400-Invalid-Connection-Package" + MandatoryPrimaryIP: + $ref: "#/components/examples/400-Mandatory-PrimaryIP" + InvalidPrimaryIPFormat: + $ref: "#/components/examples/400-Invalid-PrimaryIP-Format" + ValidatePrimaryIP: + $ref: "#/components/examples/400-Validate-PrimaryIP" + MandatorySecondaryIP: + $ref: "#/components/examples/400-Mandatory-SecondaryIP" + InvalidSecondaryIPFormat: + $ref: "#/components/examples/400-Invalid-SecondaryIP-Format" + ValidateSecondaryIP: + $ref: "#/components/examples/400-Validate-SecondaryIP" + ValidateSameSubnet: + $ref: "#/components/examples/400-Validate-SameSubnet" + MandatoryNetworkMask: + $ref: "#/components/examples/400-Mandatory-NetworkMask" + InvalidNetworkMaskFormat: + $ref: "#/components/examples/400-Invalid-NetworkMask-Format" + ValidateNetworkMask: + $ref: "#/components/examples/400-Validate-NetworkMask" + InvalidDefaultGatewayFormat: + $ref: "#/components/examples/400-Invalid-DefaultGateway-Format" + ValidateDefaultGateway: + $ref: "#/components/examples/400-Validate-DefaultGateway" + InvalidTimeScale: + $ref: "#/components/examples/400-Invalid-TimeScale" + InvalidDomain: + $ref: "#/components/examples/400-Invalid-Domain" + InvalidPriority1: + $ref: "#/components/examples/400-Invalid-Priority1" + InvalidPriority2: + $ref: "#/components/examples/400-Invalid-Priority2" + InvalidLogAnnounceInterval: + $ref: "#/components/examples/400-Invalid-LogAnnounceInterval" + ValidateLogAnnounceIntervalRange: + $ref: "#/components/examples/400-Validate-LogAnnounceInterval-Range" + InvalidLogSyncInterval: + $ref: "#/components/examples/400-Invalid-LogSyncInterval" + ValidateLogSyncIntervalRange: + $ref: "#/components/examples/400-Validate-LogSyncInterval-Range" + InvalidLogDelayReqInterval: + $ref: "#/components/examples/400-Invalid-LogDelayReqInterval" + ValidateLogDelayReqIntervalRange: + $ref: "#/components/examples/400-Validate-LogDelayReqInterval-Range" + InvalidTransportMode: + $ref: "#/components/examples/400-Invalid-TransportMode" + InvalidGrantTime: + $ref: "#/components/examples/400-Invalid-GrantTime" + ValidateGrantTimeRange: + $ref: "#/components/examples/400-Validate-GrantTime-Range" + InvalidType: + $ref: "#/components/examples/400-Invalid-Type" + InvalidId: + $ref: "#/components/examples/400-Invalid-Id" + InvalidPassword: + $ref: "#/components/examples/400-Invalid-Password" + ValidatePassword: + $ref: "#/components/examples/400-Validate-Password" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/timeServices: + post: + tags: + - Precision Time + summary: Create Time Service + description: The API provides capability to create timing service + operationId: createTimeServices + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceRequest" + examples: + ntpSingleStandard: + $ref: "#/components/examples/ntpSingleStandard" + ptpSingleStandard: + $ref: "#/components/examples/ptpSingleStandard" + ptpSingleEnterpriseWithAdvanceConfiguration: + $ref: "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + MandatoryName: + $ref: "#/components/examples/400-Mandatory-Name" + InvalidName: + $ref: "#/components/examples/400-Invalid-Name" + ValidateName: + $ref: "#/components/examples/400-Validate-Name" + DuplicateName: + $ref: "#/components/examples/400-Duplicate-Name" + MandatoryConnectionUuid: + $ref: "#/components/examples/400-Mandatory-ConnectionUUid" + InvalidConnectionUuidFormat: + $ref: "#/components/examples/400-Invalid-ConnectionUuid-Format" + InvalidConnectionStatus: + $ref: "#/components/examples/400-Invalid-Connection-Status" + ValidateConnectionUuid: + $ref: "#/components/examples/400-Validate-ConnectionUuid" + InvalidConnectionLocation: + $ref: "#/components/examples/400-Invalid-Connection-Location" + MandatoryPackageType: + $ref: "#/components/examples/400-Mandatory-PackageType" + InvalidPackageType: + $ref: "#/components/examples/400-Invalid-PackageType" + InvalidConnectionPackageType: + $ref: "#/components/examples/400-Invalid-Connection-PackageType" + MandatoryPackage: + $ref: "#/components/examples/400-Mandatory-Package" + InvalidPackage: + $ref: "#/components/examples/400-Invalid-Package" + InvalidConnectionPackage: + $ref: "#/components/examples/400-Invalid-Connection-Package" + MandatoryPrimaryIP: + $ref: "#/components/examples/400-Mandatory-PrimaryIP" + InvalidPrimaryIPFormat: + $ref: "#/components/examples/400-Invalid-PrimaryIP-Format" + ValidatePrimaryIP: + $ref: "#/components/examples/400-Validate-PrimaryIP" + MandatorySecondaryIP: + $ref: "#/components/examples/400-Mandatory-SecondaryIP" + InvalidSecondaryIPFormat: + $ref: "#/components/examples/400-Invalid-SecondaryIP-Format" + ValidateSecondaryIP: + $ref: "#/components/examples/400-Validate-SecondaryIP" + ValidateSameSubnet: + $ref: "#/components/examples/400-Validate-SameSubnet" + MandatoryNetworkMask: + $ref: "#/components/examples/400-Mandatory-NetworkMask" + InvalidNetworkMaskFormat: + $ref: "#/components/examples/400-Invalid-NetworkMask-Format" + ValidateNetworkMask: + $ref: "#/components/examples/400-Validate-NetworkMask" + InvalidDefaultGatewayFormat: + $ref: "#/components/examples/400-Invalid-DefaultGateway-Format" + ValidateDefaultGateway: + $ref: "#/components/examples/400-Validate-DefaultGateway" + InvalidTimeScale: + $ref: "#/components/examples/400-Invalid-TimeScale" + InvalidDomain: + $ref: "#/components/examples/400-Invalid-Domain" + InvalidPriority1: + $ref: "#/components/examples/400-Invalid-Priority1" + InvalidPriority2: + $ref: "#/components/examples/400-Invalid-Priority2" + InvalidLogAnnounceInterval: + $ref: "#/components/examples/400-Invalid-LogAnnounceInterval" + ValidateLogAnnounceIntervalRange: + $ref: "#/components/examples/400-Validate-LogAnnounceInterval-Range" + InvalidLogSyncInterval: + $ref: "#/components/examples/400-Invalid-LogSyncInterval" + ValidateLogSyncIntervalRange: + $ref: "#/components/examples/400-Validate-LogSyncInterval-Range" + InvalidLogDelayReqInterval: + $ref: "#/components/examples/400-Invalid-LogDelayReqInterval" + ValidateLogDelayReqIntervalRange: + $ref: "#/components/examples/400-Validate-LogDelayReqInterval-Range" + InvalidTransportMode: + $ref: "#/components/examples/400-Invalid-TransportMode" + InvalidGrantTime: + $ref: "#/components/examples/400-Invalid-GrantTime" + ValidateGrantTimeRange: + $ref: "#/components/examples/400-Validate-GrantTime-Range" + InvalidType: + $ref: "#/components/examples/400-Invalid-Type" + InvalidId: + $ref: "#/components/examples/400-Invalid-Id" + InvalidPassword: + $ref: "#/components/examples/400-Invalid-Password" + ValidatePassword: + $ref: "#/components/examples/400-Validate-Password" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/timeServices/{serviceId}/connections": + get: + tags: + - Precision Time + summary: Get Connection Links + description: The API provides capability to get prevision timing service's details + operationId: getTimeServicesConnectionsByServiceId + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + responses: + "200": + description: Return Time Service Connection + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceConnectionsResponse" + examples: + example: + $ref: "#/components/examples/serviceConnectionsResponse" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/timeServicePackages: + get: + tags: + - Precision Time + summary: Get Packages + description: The API provides capability to get timing service's packages + operationId: getTimeServicesPackages + parameters: [] + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServicePackagesResponse" + examples: + example: + $ref: "#/components/examples/servicePackagesResponse" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/timeServicePackages/{packageCode}": + get: + tags: + - Precision Time + summary: Get Package By Code + description: The API provides capability to get timing service's package by code + operationId: getTimeServicesPackageByCode + parameters: + - name: packageCode + in: path + description: Package Code + required: true + schema: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimePackageResponse" + examples: + example: + $ref: "#/components/examples/servicePackageResponse" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" +components: + schemas: + ConnectionPostRequest: + required: + - aSide + - bandwidth + - name + - notifications + - type + - zSide + type: object + properties: + type: + $ref: "#/components/schemas/ConnectionType" + name: + type: string + description: Customer-provided connection name + order: + $ref: "#/components/schemas/Order" + notifications: + type: array + description: Preferences for notifications on connection configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + bandwidth: + maximum: 50000 + minimum: 0 + type: integer + description: Connection bandwidth in Mbps + geoScope: + $ref: "#/components/schemas/GeoScopeType" + redundancy: + $ref: "#/components/schemas/ConnectionRedundancy" + aSide: + $ref: "#/components/schemas/ConnectionSide" + zSide: + $ref: "#/components/schemas/ConnectionSide" + project: + $ref: "#/components/schemas/Project" + additionalInfo: + type: array + description: Connection additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + description: Create connection post request + Connection: + required: + - aSide + - bandwidth + - name + - type + - zSide + type: object + properties: + type: + $ref: "#/components/schemas/ConnectionType" + href: + type: string + description: Connection URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + name: + type: string + description: Customer-provided connection name + description: + type: string + description: Customer-provided connection description + state: + $ref: "#/components/schemas/ConnectionState" + change: + $ref: "#/components/schemas/Change" + operation: + $ref: "#/components/schemas/ConnectionOperation" + order: + $ref: "#/components/schemas/Order" + notifications: + type: array + description: Preferences for notifications on connection configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + account: + $ref: "#/components/schemas/SimplifiedAccount" + changeLog: + $ref: "#/components/schemas/Changelog" + bandwidth: + maximum: 10000 + minimum: 0 + type: integer + description: Connection bandwidth in Mbps + geoScope: + $ref: "#/components/schemas/GeoScopeType" + redundancy: + $ref: "#/components/schemas/ConnectionRedundancy" + isRemote: + type: boolean + description: Connection property derived from access point locations + direction: + $ref: "#/components/schemas/ConnectionDirection" + aSide: + $ref: "#/components/schemas/ConnectionSide" + zSide: + $ref: "#/components/schemas/ConnectionSide" + additionalInfo: + type: array + description: Connection additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + project: + $ref: "#/components/schemas/Project" + description: Connection specification + ErrorList: + type: array + description: List of Error Message + items: + $ref: "#/components/schemas/Error" + ConnectionId: + type: string + description: Connection UUID + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + ConnectionDirection: + type: string + description: Connection directionality from the requester point of view + enum: + - INTERNAL + - INCOMING + - OUTGOING + VirtualCircuitId: + type: string + description: Virtual Circuit UUID + ConnectionUpdateRequest: + minItems: 1 + type: array + description: Connection Update Request + items: + $ref: "#/components/schemas/ConnectionChangeOperation" + ConnectionActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/Actions" + description: + type: string + description: Connection rejection reason datail + data: + $ref: "#/components/schemas/ConnectionAcceptanceData" + description: Connection action request + ConnectionAction: + required: + - data + - href + - type + - uuid + type: object + properties: + type: + $ref: "#/components/schemas/Actions" + href: + type: string + description: Connection action URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + description: + type: string + description: Connection rejection reason detail + data: + $ref: "#/components/schemas/ConnectionAcceptanceData" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Connection action + GetResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Routing Protocols + items: + $ref: "#/components/schemas/RoutingProtocolData" + RoutingProtocolBase: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + - DIRECT + oneOf: + - $ref: "#/components/schemas/RoutingProtocolBGPType" + - $ref: "#/components/schemas/RoutingProtocolDirectType" + RoutingProtocolBGPType: + required: + - type + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + name: + type: string + example: My-BGP-route-1 + bgpIpv4: + $ref: "#/components/schemas/BGPConnectionIpv4" + bgpIpv6: + $ref: "#/components/schemas/BGPConnectionIpv6" + customerAsn: + type: integer + description: Customer asn + format: int64 + equinixAsn: + type: integer + description: Equinix asn + format: int64 + bgpAuthKey: + type: string + description: BGP authorization key + bfd: + $ref: "#/components/schemas/RoutingProtocolBFD" + RoutingProtocolDirectType: + required: + - type + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - DIRECT + name: + type: string + example: My-direct-route-1 + directIpv4: + $ref: "#/components/schemas/DirectConnectionIpv4" + directIpv6: + $ref: "#/components/schemas/DirectConnectionIpv6" + RoutingProtocolData: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + - DIRECT + oneOf: + - $ref: "#/components/schemas/RoutingProtocolBGPData" + - $ref: "#/components/schemas/RoutingProtocolDirectData" + ConnectionRoutingProtocolPostRequest: + type: object + properties: + data: + type: array + description: Connection routing protocol configuration + items: + $ref: "#/components/schemas/RoutingProtocolBase" + description: Create connection routing protocolpost request + RoutingProtocolId: + type: string + description: Routing Protocol UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + ConnectionRoutingProtocolPatchRequest: + minItems: 1 + type: array + description: Patch connection routing protocol request + items: + $ref: "#/components/schemas/ConnectionChangeOperation" + BGPActionsBulkData: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/BGPActionData" + description: List of BGP Actions + BGPActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/BGPActions" + description: BGP action request + BGPActionData: + type: object + properties: + href: + type: string + description: Routing Protocol URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5/actions + uuid: + type: string + description: Routing protocol identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: + $ref: "#/components/schemas/BGPActions" + description: + type: string + description: BGP action description + state: + $ref: "#/components/schemas/BGPActionStates" + changelog: + $ref: "#/components/schemas/Changelog" + ActionId: + type: string + description: BGP Action UUID + format: uuid + example: 86534014-34b4-53f6-45d6-4b94a92d8623 + ChangeId: + type: string + description: Routing Protocol Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RoutingProtocolChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/RoutingProtocolChangeOperation" + description: Current state of latest Routing Protocol change + allOf: + - $ref: "#/components/schemas/RoutingProtocolChange" + RoutingProtocolChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RoutingProtocolChangeData" + description: List of network changes + SearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/Expression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/SortCriteria" + description: Search requests containing criteria + Expression: + type: object + properties: + and: + $ref: "#/components/schemas/Expressions" + or: + $ref: "#/components/schemas/Expressions" + property: + $ref: "#/components/schemas/SearchFieldName" + operator: + type: string + enum: + - = + - "!=" + - ">" + - ">=" + - < + - <= + - BETWEEN + - NOT BETWEEN + - LIKE + - NOT LIKE + - IN + - NOT IN + - IS NOT NULL + - IS NULL + values: + type: array + items: + type: string + Expressions: + type: array + items: + $ref: "#/components/schemas/Expression" + SearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /isRemote + - /name + - /uuid + - /type + - /geoScope + - /account/orgId + - /aSide/accessPoint/account/accountName + - /aSide/accessPoint/account/accountNumber + - /aSide/accessPoint/router/uuid + - /aSide/accessPoint/linkProtocol/vlanCTag + - /aSide/accessPoint/linkProtocol/vlanSTag + - /aSide/accessPoint/linkProtocol/vlanTagMin + - /aSide/accessPoint/linkProtocol/vlanTagMax + - /aSide/accessPoint/location/metroCode + - /aSide/accessPoint/location/metroName + - /aSide/accessPoint/name + - /aSide/accessPoint/port/uuid + - /aSide/accessPoint/port/name + - /aSide/accessPoint/type + - /aSide/accessPoint/virtualDevice/name + - /aSide/accessPoint/virtualDevice/uuid + - /aSide/serviceToken/uuid + - /change/status + - /operation/equinixStatus + - /operation/providerStatus + - /project/projectId + - /redundancy/group + - /redundancy/priority + - /zSide/accessPoint/account/accountName + - /zSide/accessPoint/authenticationKey + - /zSide/accessPoint/linkProtocol/vlanCTag + - /zSide/accessPoint/linkProtocol/vlanSTag + - /zSide/accessPoint/linkProtocol/vlanTagMin + - /zSide/accessPoint/linkProtocol/vlanTagMax + - /zSide/accessPoint/location/metroCode + - /zSide/accessPoint/location/metroName + - /zSide/accessPoint/name + - /zSide/accessPoint/port/uuid + - /zSide/accessPoint/network/uuid + - /zSide/accessPoint/port/name + - /zSide/accessPoint/profile/uuid + - /zSide/accessPoint/type + - /zSide/accessPoint/virtualDevice/name + - /zSide/accessPoint/virtualDevice/uuid + - /zSide/serviceToken/uuid + - /zSide/internetAccess/uuid + - "*" + SortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/SortDirection" + property: + $ref: "#/components/schemas/SortBy" + ConnectionSearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + sort: + type: array + items: + $ref: "#/components/schemas/SortCriteriaResponse" + data: + type: array + items: + $ref: "#/components/schemas/Connection" + description: List of connections + FilterBody: + type: object + properties: + filter: + $ref: "#/components/schemas/SearchExpression" + description: Search requests containing criteria + SearchExpression: + type: object + properties: + and: + $ref: "#/components/schemas/SearchExpressions" + or: + $ref: "#/components/schemas/SearchExpressions" + property: + type: string + operator: + type: string + enum: + - = + - "!=" + - ">" + - ">=" + - < + - <= + - BETWEEN + - NOT BETWEEN + - LIKE + - NOT LIKE + - IN + - NOT IN + - IS NOT NULL + - IS NULL + values: + type: array + items: + type: string + SearchExpressions: + type: array + items: + $ref: "#/components/schemas/SearchExpression" + PriceSearchResponse: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/Price" + pagination: + $ref: "#/components/schemas/Pagination" + PriceErrorList: + type: array + items: + $ref: "#/components/schemas/PriceError" + PriceError: + required: + - errorCode + - errorMessage + type: object + properties: + errorCode: + type: string + enum: + - EQ-3038010 + - EQ-3038022 + - EQ-3038030 + errorMessage: + type: string + enum: + - Validation failure + - Invalid value + - Internal Server Error + correlationId: + type: string + details: + type: string + help: + type: string + additionalInfo: + type: array + items: + $ref: "#/components/schemas/PriceError_additionalInfo" + description: Error with details + discriminator: + propertyName: errorCode + PortUUID: + type: string + description: Port UUID + format: uuid + startDateTime: + type: string + description: startDateTime + format: date-time + example: 2020-11-06T07:00:00Z + endDateTime: + type: string + description: endDateTime + format: date-time + example: 2020-11-06T07:00:00Z + Statistics: + type: object + properties: + startDateTime: + type: string + description: Start and duration of the statistical analysis interval. + format: date-time + example: 2020-11-06T07:00:00Z + endDateTime: + type: string + description: End and duration of the statistical analysis interval. + format: date-time + example: 2020-11-06T07:00:00Z + viewPoint: + type: string + description: Point of view for connection metrics - aSide or zSide + enum: + - aSide + - zSide + bandwidthUtilization: + $ref: "#/components/schemas/BandwidthUtilization" + description: This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + BandwidthUtilization: + type: object + properties: + unit: + type: string + description: Aggregated data transfer capacity. Possible values- Mbps, megabits (1 million bits) per second; Gbps, gigabits (1 billion bits) per second. + enum: + - Mbps + metricInterval: + type: string + description: An interval formatted value, indicating the time-interval the metric objects within the response represent + inbound: + $ref: "#/components/schemas/Direction" + outbound: + $ref: "#/components/schemas/Direction" + description: Bandwidth utilization statistics (octet counters-based) + Direction: + type: object + properties: + max: + type: number + description: Max bandwidth within request time range, represented in units specified by response "units" field + format: float + mean: + type: number + description: Mean bandwidth within request time range, represented in units specified by response "units" field + format: float + metrics: + type: array + description: Bandwidth utilization statistics for a specified interval. + items: + $ref: "#/components/schemas/Metrics" + description: Directional statistics + Metrics: + type: object + properties: + intervalEndTimestamp: + type: string + description: Interval end timestamp + format: date-time + example: 2020-11-06T07:00:00Z + max: + type: number + description: Max bandwidth within statistics object time interval, represented in units specified by response "units" field + format: float + mean: + type: number + description: Mean bandwidth within statistics object time interval, represented in units specified by response "units" field + format: float + description: Bandwidth utilization statistics for a specified interval. + sort: + type: string + description: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The "?" prefix indicates descending (DESC) order. + default: -bandwidthUtilization + enum: + - -bandwidthUtilization + top: + type: integer + description: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + default: 5 + duration: + type: string + description: Duration of the statistical analysis interval. + default: P7D + enum: + - P7D + - P1M + - P3M + query_direction: + type: string + description: Direction of traffic from the requester's viewpoint. + default: outbound + enum: + - inbound + - outbound + metricInterval: + type: string + description: metric interval + default: P7D + enum: + - P7D + metros: + type: array + description: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. + items: + type: string + projectId: + type: string + description: projectId + example: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + TopUtilizedStatistics: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/Statistics" + description: This API provides service-level traffic metrics for the top utilized ports so that you can view access and gather key information required to manage service subscription sizing and capacity. + viewPoint: + type: string + description: viewPoint + enum: + - aSide + - zSide + ServiceProfiles: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ServiceProfile" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service Profiles + ServiceProfileRequest: + required: + - description + - name + - type + type: object + properties: + project: + $ref: "#/components/schemas/Project" + description: | + Service Profile is a software definition for a named provider service and it's network connectivity requirements. + This includes the basic marketing information and one + or more sets of access points (a set per each access point type) fulfilling the provider service. + allOf: + - $ref: "#/components/schemas/SimplifiedServiceProfile" + SimplifiedServiceProfile: + type: object + properties: + href: + type: string + description: Service Profile URI response attribute + format: uri + readOnly: true + type: + $ref: "#/components/schemas/ServiceProfileTypeEnum" + name: + maxLength: 50 + type: string + description: Customer-assigned service profile name + example: Sample Service Profile + uuid: + type: string + description: Equinix-assigned service profile identifier + format: uuid + description: + type: string + description: User-provided service description should be of maximum length 375 + example: offering connectivity to my-network + notifications: + type: array + description: Recipients of notifications on service profile change + items: + $ref: "#/components/schemas/SimplifiedNotification" + tags: + $ref: "#/components/schemas/Tags" + visibility: + $ref: "#/components/schemas/ServiceProfileVisibilityEnum" + allowedEmails: + type: array + items: + type: string + format: email + accessPointTypeConfigs: + minItems: 1 + type: array + items: + $ref: "#/components/schemas/ServiceProfileAccessPointType" + customFields: + type: array + items: + $ref: "#/components/schemas/CustomField" + marketingInfo: + $ref: "#/components/schemas/MarketingInfo" + ports: + type: array + items: + $ref: "#/components/schemas/ServiceProfileAccessPointCOLO" + virtualDevices: + type: array + items: + $ref: "#/components/schemas/ServiceProfileAccessPointVD" + metros: + type: array + description: Derived response attribute. + items: + $ref: "#/components/schemas/ServiceMetro" + selfProfile: + type: boolean + description: response attribute indicates whether the profile belongs to the same organization as the api-invoker. + projectId: + type: string + description: | + Service Profile is a software definition for a named provider service and it's network connectivity requirements. + This includes the basic marketing information and one + or more sets of access points (a set per each access point type) fulfilling the provider service. + Tags: + type: array + items: + type: string + ServiceProfileAccessPointType: + type: object + description: Access Point Type + oneOf: + - $ref: "#/components/schemas/ServiceProfileAccessPointTypeCOLO" + - $ref: "#/components/schemas/ServiceProfileAccessPointTypeVD" + ServiceProfileAccessPointTypeCOLO: + required: + - type + type: object + properties: + uuid: + type: string + type: + $ref: "#/components/schemas/ServiceProfileAccessPointTypeEnum" + supportedBandwidths: + $ref: "#/components/schemas/Bandwidths" + allowRemoteConnections: + type: boolean + description: Setting to allow or prohibit remote connections to the service profile. + example: true + default: false + allowCustomBandwidth: + type: boolean + description: Setting to enable or disable the ability of the buyer to customize the bandwidth. + example: true + default: false + bandwidthAlertThreshold: + type: number + description: percentage of port bandwidth at which an allocation alert is generated - missing on wiki. + allowBandwidthAutoApproval: + type: boolean + description: Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller. + default: false + allowBandwidthUpgrade: + type: boolean + description: Availability of a bandwidth upgrade. The default is false. + linkProtocolConfig: + $ref: "#/components/schemas/ServiceProfileLinkProtocolConfig" + enableAutoGenerateServiceKey: + type: boolean + description: for verizon only. + connectionRedundancyRequired: + type: boolean + description: Mandate redundant connections + example: true + default: false + apiConfig: + $ref: "#/components/schemas/ApiConfig" + connectionLabel: + type: string + description: custom name for "Connection" + authenticationKey: + $ref: "#/components/schemas/AuthenticationKey" + metadata: + $ref: "#/components/schemas/ServiceProfileMetadata" + description: Colo Access Point Type + ServiceProfileAccessPointTypeEnum: + type: string + description: Access point type + enum: + - VD + - COLO + Bandwidths: + type: array + items: + $ref: "#/components/schemas/Bandwidth" + Bandwidth: + type: integer + description: speed in Mbps + example: 50 + ServiceProfileLinkProtocolConfig: + type: object + properties: + encapsulationStrategy: + type: string + description: was tagType - missing on wiki + enum: + - CTAGED + - BOTH + - NAMED + namedTags: + maxItems: 64 + type: array + items: + type: string + vlanCTagLabel: + type: string + description: was ctagLabel + reuseVlanSTag: + type: boolean + example: true + default: false + encapsulation: + type: string + description: Port encapsulation - Derived response attribute. Ignored on request payloads. + enum: + - QINQ + - DOT1Q + - UNTAGGED + description: Configuration for dot1q to qinq translation support + ApiConfig: + type: object + properties: + apiAvailable: + type: boolean + description: Setting indicating whether the API is available (true) or not (false). + example: true + default: false + integrationId: + type: string + equinixManagedPort: + type: boolean + description: Setting indicating that the port is managed by Equinix (true) or not (false). + example: true + default: false + equinixManagedVlan: + type: boolean + description: Setting indicating that the VLAN is managed by Equinix (true) or not (false). + example: true + default: false + allowOverSubscription: + type: boolean + description: | + Setting showing that oversubscription support is available (true) or not (false). The default is false. + Oversubscription is the sale of more than the available network bandwidth. This practice is common + and legitimate. After all, many customers use less bandwidth than they've purchased. + And network users don't consume bandwidth all at the same time. The leftover bandwidth can be sold to + other customers. When demand surges, operational and engineering resources can be shifted to + accommodate the load. + example: false + default: false + overSubscriptionLimit: + maximum: 20 + minimum: 1 + type: integer + description: A cap on oversubscription. + example: 1 + default: 1 + bandwidthFromApi: + type: boolean + default: false + description: Configuration for API based Integration for Service Profile + AuthenticationKey: + type: object + properties: + required: + type: boolean + example: true + default: false + label: + type: string + example: Service Key + description: + type: string + example: description for the authentication key + description: Authentication Key Support and Customization + ServiceProfileMetadata: + type: object + properties: + props: + type: string + regEx: + type: string + regExMsg: + type: string + vlanRangeMaxValue: + type: integer + vlanRangeMinValue: + type: integer + maxQinq: + type: string + maxDot1q: + type: integer + variableBilling: + type: boolean + globalOrganization: + type: string + limitAuthKeyConn: + type: boolean + allowSecondaryLocation: + type: boolean + redundantProfileId: + type: string + allowVcMigration: + type: boolean + connectionEditable: + type: boolean + releaseVlan: + type: boolean + maxConnectionsOnPort: + type: integer + portAssignmentStrategy: + type: string + eqxManagedPort: + type: boolean + connectionNameEditable: + type: boolean + description: Metadata. Response attribute. Ignored on request payload. + ServiceProfileAccessPointTypeVD: + required: + - type + type: object + properties: + uuid: + type: string + type: + $ref: "#/components/schemas/ServiceProfileAccessPointTypeEnum" + supportedBandwidths: + $ref: "#/components/schemas/Bandwidths" + allowRemoteConnections: + type: boolean + description: Allow remote connections to Service Profile + example: true + allowCustomBandwidth: + type: boolean + example: true + additionalProperties: false + description: VirtualDevice Access Point Type + CustomField: + required: + - dataType + - description + - isRequired + - label + properties: + label: + type: string + example: Account Number + description: + type: string + example: Provide a valid account number + required: + type: boolean + example: true + dataType: + type: string + enum: + - STRING + - LIST + - NUMBER + options: + type: array + items: + type: string + captureInEmail: + type: boolean + description: capture this field as a part of email notification + description: Define Custom Attributes + MarketingInfo: + type: object + properties: + logo: + type: string + description: Logo file name + promotion: + type: boolean + description: Profile promotion on marketplace + processSteps: + maxItems: 3 + type: array + items: + $ref: "#/components/schemas/ProcessStep" + ProcessStep: + type: object + properties: + title: + type: string + description: Service profile custom step title + subTitle: + type: string + description: Service profile custom step sub title + description: + type: string + description: Service profile custom step description + description: Definition of customized step while making connection + ServiceProfileAccessPointCOLO: + required: + - type + - uuid + type: object + properties: + type: + type: string + enum: + - XF_PORT + uuid: + type: string + format: uuid + example: 94662143-e21b-4098-bfcf-e9416f47eae1 + location: + $ref: "#/components/schemas/SimplifiedLocation" + sellerRegion: + type: string + sellerRegionDescription: + type: string + crossConnectId: + type: string + description: Colo Access Point + ServiceProfileAccessPointVD: + required: + - type + - uuid + type: object + properties: + type: + type: string + enum: + - VD + uuid: + type: string + format: uuid + example: 94662143-e21b-4098-bfcf-e9416f47eae1 + location: + $ref: "#/components/schemas/SimplifiedLocation" + interfaceUuid: + type: string + format: uuid + example: 94662143-e21b-4098-bfcf-e9416f47eae1 + description: Virtual Device Point + ServiceMetro: + type: object + properties: + code: + type: string + description: metro code + name: + type: string + description: metro name + vcBandwidthMax: + type: integer + description: max VC speed supported in Mbps + ibxs: + type: array + items: + type: string + description: ibx codes + inTrail: + type: boolean + displayName: + type: string + description: service metro display name + sellerRegions: + type: object + additionalProperties: + type: string + ServiceProfile: + type: object + properties: + state: + $ref: "#/components/schemas/ServiceProfileStateEnum" + account: + description: Seller Account for Service Profile. + allOf: + - $ref: "#/components/schemas/SimplifiedAccount" + - type: object + project: + $ref: "#/components/schemas/Project" + changeLog: + description: Seller Account for Service Profile. + allOf: + - $ref: "#/components/schemas/Changelog" + - type: object + description: | + Service Profile is a software definition for a named provider service and it's network connectivity requirements. + This includes the basic marketing information and one + or more sets of access points (a set per each access point type) fulfilling the provider service. + allOf: + - $ref: "#/components/schemas/SimplifiedServiceProfile" + ServiceProfileSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/ServiceProfileFilter" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/ServiceProfileSortCriteria" + description: Search requests containing criteria + ServiceProfileFilter: + type: object + anyOf: + - $ref: "#/components/schemas/ServiceProfileSimpleExpression" + - $ref: "#/components/schemas/ServiceProfileAndFilter" + ServiceProfileSimpleExpression: + type: object + properties: + property: + type: string + description: | + Possible field names to use on filters: + * `/name` - Service Profile name + * `/uuid` - Service Profile uuid + * `/state` - Service Profile status + * `/metros/code` - Service Profile metro code + * `/visibility` - Service Profile package + * `/type` - Service Profile package + * `/project/projectId` - Service Profile project id + example: /name + operator: + type: string + description: | + Possible operators to use on filters: + * `=` - equal + example: = + values: + type: array + items: + type: string + example: ServiceProfile-1 + ServiceProfileAndFilter: + type: object + properties: + and: + type: array + items: + $ref: "#/components/schemas/ServiceProfileSimpleExpression" + ServiceProfileSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/ServiceProfileSortDirection" + property: + $ref: "#/components/schemas/ServiceProfileSortBy" + ServiceProfileSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + ServiceProfileSortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /state + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + ServiceProfileId: + type: string + description: Service Profile UUID + format: uuid + JsonPatch: + type: array + items: + $ref: "#/components/schemas/JsonPatchOperation" + JsonPatchOperation: + type: object + description: Service Profile Access Points + oneOf: + - $ref: "#/components/schemas/AddOperation" + - $ref: "#/components/schemas/RemoveOperation" + - $ref: "#/components/schemas/ReplaceOperation" + AddOperation: + required: + - op + - path + - value + type: object + properties: + op: + $ref: "#/components/schemas/OpEnum" + path: + $ref: "#/components/schemas/Path" + value: + type: object + description: value to add + description: Add Sub-Resource to the existing model + OpEnum: + type: string + description: the operation to be performed + enum: + - add + - remove + - replace + Path: + type: string + description: A JSON Pointer path. + RemoveOperation: + required: + - op + - path + type: object + properties: + op: + $ref: "#/components/schemas/OpEnum" + path: + $ref: "#/components/schemas/Path" + description: Remove sub-resource from an existing model + ReplaceOperation: + required: + - op + - path + - value + type: object + properties: + op: + $ref: "#/components/schemas/OpEnum" + path: + $ref: "#/components/schemas/Path" + value: + type: object + description: value to replace with + description: Replace attribute value or sub-resource in the existing model + ServiceMetros: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ServiceMetro" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service Profile Metros + ServiceTokenUUID: + type: string + description: Service Token UUID + format: uuid + ServiceToken: + required: + - uuid + type: object + properties: + type: + $ref: "#/components/schemas/ServiceTokenType" + href: + type: string + description: An absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned service token identifier + format: uuid + name: + type: string + description: Customer-provided service token name + description: + type: string + description: Customer-provided service token description + expirationDateTime: + type: string + description: Expiration date and time of the service token. + format: date-time + example: 2020-11-06T07:00:00Z + connection: + $ref: "#/components/schemas/ServiceTokenConnection" + state: + $ref: "#/components/schemas/ServiceTokenState" + notifications: + type: array + description: Service token related notifications + items: + $ref: "#/components/schemas/SimplifiedNotification" + account: + $ref: "#/components/schemas/SimplifiedAccount" + changelog: + $ref: "#/components/schemas/Changelog" + project: + $ref: "#/components/schemas/Project" + description: Create Service Tokens (v4) generates Equinix Fabric service tokens. These tokens authorize users to access protected resources and services. The tokens remove sensitive content from the environment, rather than just masking it, making the protected data impossible to unencrypt or decrypt. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets. + ServiceTokenUpdateRequest: + minItems: 1 + type: array + description: Service Token Update Request + items: + $ref: "#/components/schemas/ServiceTokenChangeOperation" + ServiceTokens: + type: object + properties: + data: + type: array + description: List of Service Tokens + items: + $ref: "#/components/schemas/ServiceToken" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service tokens authorize a user to access protected resources and services available on the Equinix Fabric network. The owner of the resources can distribute service tokens to third-party users (trusted partners and vendors), allowing them to directly access and work with the resources on the network without involving the resource owners. + ServiceTokenActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/ServiceTokenActions" + description: Service Token action request + ServiceTokenSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/ServiceTokenSearchExpression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + description: Search requests containing criteria + ServiceTokenSearchExpression: + type: object + properties: + and: + $ref: "#/components/schemas/ServiceTokenSearchExpressions" + property: + $ref: "#/components/schemas/ServiceTokenSearchFieldName" + operator: + type: string + enum: + - = + values: + type: array + items: + type: string + ServiceTokenSearchExpressions: + type: array + items: + $ref: "#/components/schemas/ServiceTokenSearchExpression" + ServiceTokenSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /uuid + - /state + - /name + - /project/projectId + Presence: + type: string + description: Presence + enum: + - MY_PORTS + MetroResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + 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. + Metro: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + type: + type: string + description: Indicator of a Fabric Metro + code: + type: string + description: Code Assigned to an Equinix IBX data center in a specified metropolitan area. + region: + type: string + description: Board geographic area in which the data center is located + name: + type: string + description: Name of the region in which the data center is located. + equinixAsn: + type: integer + description: Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. + format: int64 + localVCBandwidthMax: + type: integer + description: This field holds Max Connection speed with in the metro + format: int64 + geoCoordinates: + $ref: "#/components/schemas/GeoCoordinates" + connectedMetros: + type: array + items: + $ref: "#/components/schemas/ConnectedMetro" + geoScopes: + type: array + 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. + GeoCoordinates: + type: object + properties: + latitude: + type: number + description: Latitude of a Fabric Metro + format: double + longitude: + type: number + description: Longitude of a Fabric Metro + format: double + description: Geographic location data of Fabric Metro + ConnectedMetro: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + code: + type: string + description: Code assigned to an Equinix International Business Exchange (IBX) data center in a specified metropolitan area. + avgLatency: + type: number + description: Average latency (in milliseconds[ms]) between two specified metros. + remoteVCBandwidthMax: + type: integer + description: This field holds the Max Connection speed with connected metros + format: int64 + description: Arrays of objects containing latency data for the specified metros + GeoScopeType: + type: string + description: Geographic boundary types + enum: + - CANADA + - CONUS + MetroErrorList: + type: array + items: + $ref: "#/components/schemas/MetroError" + MetroError: + required: + - errorCode + - errorMessage + type: object + properties: + errorCode: + type: string + enum: + - EQ-3036001 + - EQ-3036013 + - EQ-3036030 + - EQ-3036100 + errorMessage: + type: string + enum: + - Unauthorized + - Invalid Query Parameter + - Invalid Path Parameter + - Invalid Query or Path Parameter + - Internal Server Error + - Metro Not Found + correlationId: + type: string + details: + type: string + help: + type: string + additionalInfo: + type: array + items: + $ref: "#/components/schemas/PriceError_additionalInfo" + description: Error with details + discriminator: + propertyName: errorCode + MetroCode: + type: string + description: Metro Code + AllPortsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: GET All User Port Across Fabric Metros + items: + $ref: "#/components/schemas/Port" + description: GET All User Port Across Fabric Metros + Port: + required: + - account + - connectivitySourceType + - encapsulation + - location + - physicalPortsSpeed + - physicalPortsType + - settings + - type + type: object + properties: + type: + $ref: "#/components/schemas/PortType" + id: + type: integer + description: Equinix assigned response attribute for Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix assigned response attribute for port identifier + format: uuid + name: + type: string + description: Equinix assigned response attribute for Port name + description: + type: string + description: Equinix assigned response attribute for Port description + physicalPortsSpeed: + minimum: 0 + type: integer + description: Physical Ports Speed in Mbps + connectionsCount: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Connection count + physicalPortsType: + type: string + description: Physical Ports Type + enum: + - 1000BASE_LX + - 10GBASE_LR + - 100GBASE_LR4 + - 10GBASE_ER + - 1000BASE_SX + physicalPortsCount: + type: integer + connectivitySourceType: + type: string + description: Port connectivity type + enum: + - COLO + - BMMR + - REMOTE + bmmrType: + type: string + enum: + - SELF + - EQUINIX + project: + $ref: "#/components/schemas/Project" + state: + $ref: "#/components/schemas/PortState" + order: + $ref: "#/components/schemas/PortOrder" + cvpId: + type: string + description: Equinix assigned response attribute for Unique ID for a virtual port. + operation: + $ref: "#/components/schemas/PortOperation" + account: + $ref: "#/components/schemas/SimplifiedAccount" + changelog: + $ref: "#/components/schemas/Changelog" + serviceType: + type: string + description: Port service Type + enum: + - EPL + - MSP + bandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port bandwidth in Mbps + availableBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port available bandwidth in Mbps + usedBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port used bandwidth in Mbps + location: + $ref: "#/components/schemas/SimplifiedLocation" + device: + $ref: "#/components/schemas/PortDevice" + interface: + $ref: "#/components/schemas/PortInterface" + demarcationPointIbx: + type: string + description: A-side/Equinix ibx + tetherIbx: + type: string + description: z-side/Equinix ibx + demarcationPoint: + $ref: "#/components/schemas/PortDemarcationPoint" + redundancy: + $ref: "#/components/schemas/PortRedundancy" + encapsulation: + $ref: "#/components/schemas/PortEncapsulation" + lagEnabled: + type: boolean + description: If LAG enabled + lag: + $ref: "#/components/schemas/PortLag" + asn: + type: integer + description: Port ASN + settings: + $ref: "#/components/schemas/PortSettings" + physicalPortQuantity: + type: integer + description: Number of physical ports + notifications: + type: array + description: Notification preferences + items: + $ref: "#/components/schemas/PortNotification" + additionalInfo: + type: array + description: Port additional information + items: + $ref: "#/components/schemas/PortAdditionalInfo" + physicalPorts: + type: array + description: Physical ports that implement this port + items: + $ref: "#/components/schemas/PhysicalPort" + loas: + type: array + description: Port Loas + items: + $ref: "#/components/schemas/PortLoa" + description: Port specification + PhysicalPort: + type: object + properties: + type: + $ref: "#/components/schemas/PhysicalPortType" + id: + type: integer + description: Equinix assigned response attribute for Physical Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. + format: uri + readOnly: true + state: + $ref: "#/components/schemas/PortState" + account: + $ref: "#/components/schemas/SimplifiedAccount" + interfaceSpeed: + minimum: 0 + type: integer + description: Physical Port Speed in Mbps + interfaceType: + type: string + description: Physical Port Interface Type + tether: + $ref: "#/components/schemas/PortTether" + demarcationPoint: + $ref: "#/components/schemas/PortDemarcationPoint" + additionalInfo: + type: array + description: Physical Port additional information + items: + $ref: "#/components/schemas/PortAdditionalInfo" + order: + $ref: "#/components/schemas/PortOrder" + operation: + $ref: "#/components/schemas/PortOperation" + loas: + type: array + description: Port Loas + items: + $ref: "#/components/schemas/PortLoa" + description: Physical Port specification + BulkPort: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/Port" + description: Create bulk port request + BulkPhysicalPort: + type: object + properties: + data: + type: array + description: add physical ports to virtual port + items: + $ref: "#/components/schemas/PhysicalPort" + description: Add to Lag request + AllPhysicalPortsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: GET All Physical Ports + items: + $ref: "#/components/schemas/PhysicalPort" + description: GET All Physical Ports + LinkProtocolGetResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/LinkProtocolResponse" + description: List of Vlans + PortV4SearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/PortExpression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/PortSortCriteria" + description: Search requests containing criteria + PortExpression: + type: object + properties: + and: + $ref: "#/components/schemas/PortExpressions" + or: + $ref: "#/components/schemas/PortExpressions" + property: + $ref: "#/components/schemas/PortSearchFieldName" + operator: + type: string + enum: + - = + values: + type: array + items: + type: string + PortExpressions: + type: array + items: + $ref: "#/components/schemas/PortExpression" + PortSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /project/projectId + - /settings/productCode + - /state + PortSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/PortSortDirection" + property: + $ref: "#/components/schemas/PortSortBy" + GetAllConnectionRouteFiltersResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filters attached to a Connection + items: + $ref: "#/components/schemas/ConnectionRouteFilterData" + RouteFilterId: + type: string + description: Route Filters UUID + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + ConnectionRouteFilterData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: + type: string + enum: + - ATTACHING + - ATTACHED + - DETACHED + - DETACHING + - FAILED + - PENDING_BGP_CONFIGURATION + direction: + type: string + enum: + - INBOUND + - OUTBOUND + ConnectionRouteFiltersBase: + required: + - direction + type: object + properties: + direction: + type: string + description: Route Filter direction to attach to a connection + enum: + - INBOUND + - OUTBOUND + RouteFiltersBase: + required: + - name + - project + - type + type: object + properties: + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + project: + $ref: "#/components/schemas/Project" + RouteFiltersData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + state: + $ref: "#/components/schemas/RouteFilterState" + change: + $ref: "#/components/schemas/RouteFiltersChange" + notMatchedRuleAction: + type: string + enum: + - ALLOW + - DENY + connectionsCount: + type: integer + example: 0 + rulesCount: + type: integer + example: 0 + project: + $ref: "#/components/schemas/RouteFiltersData_project" + changelog: + $ref: "#/components/schemas/Changelog" + RouteFiltersPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters request + items: + $ref: "#/components/schemas/RouteFiltersPatchRequestItem" + RouteFilterChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RouteFilterChangeData" + description: List of Route Filter changes + ChangeId_1: + type: string + description: Route Filters Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/RouteFiltersChangeOperation" + description: Current state of latest Route Filter change + allOf: + - $ref: "#/components/schemas/RouteFiltersChange" + GetRouteFilterGetConnectionsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Connections using a Route Filter + items: + $ref: "#/components/schemas/RouteFilterConnectionsData" + RouteFiltersSearchBase: + type: object + properties: + filter: + $ref: "#/components/schemas/RouteFiltersSearchBase_filter" + pagination: + $ref: "#/components/schemas/Pagination" + sort: + type: array + items: + $ref: "#/components/schemas/SortItem" + RouteFiltersSearchFilterItem: + type: object + properties: + property: + type: string + enum: + - /type + - /name + - /project/projectId + - /uuid + - /state + operator: + type: string + values: + type: array + items: + type: string + SortItem: + type: object + properties: + property: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /type + - /uuid + - /name + - /project/projectId + - /state + - /notMatchedRuleAction + - /connectionsCount + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + direction: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + RouteFiltersSearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filters + items: + $ref: "#/components/schemas/RouteFiltersData" + GetRouteFilterRulesResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filter Rules + items: + $ref: "#/components/schemas/RouteFilterRulesData" + RouteFilterRulesBase: + required: + - prefix + type: object + properties: + name: + type: string + example: Private-subnet-filter + description: + type: string + description: Customer-provided Route Filter Rule description + prefix: + type: string + example: 192.168.0.0/24 + prefixMatch: + type: string + example: orlonger, exact + default: orlonger + RouteFilterRulesData: + type: object + properties: + href: + type: string + description: Route Filter Rules URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER_RULE + - BGP_IPv6_PREFIX_FILTER_RULE + uuid: + type: string + description: Route Filter Rule identifier + format: uuid + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: + type: string + example: Private-subnet-filter-2 + description: + type: string + description: Customer-provided Route Filter Rule description + state: + $ref: "#/components/schemas/RouteFilterRuleState" + prefixMatch: + type: string + description: prefix matching operator + example: exact + default: orlonger + change: + $ref: "#/components/schemas/RouteFilterRulesChange" + action: + type: string + enum: + - PERMIT + - DENY + prefix: + type: string + example: 192.168.0.0/24 + changelog: + $ref: "#/components/schemas/Changelog" + RouteFilterRuleId: + type: string + description: Route Filter Rule UUID + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRulesPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters Rule request + items: + $ref: "#/components/schemas/RouteFilterRulesPatchRequestItem" + RouteFilterRulesChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + description: List of Route Filter Rule changes + ChangeId_2: + type: string + description: Route Filter Rule Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterRulesChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + data: + $ref: "#/components/schemas/RouteFilterRulesChangeOperation" + description: Current state of latest Route Filter Rules change + allOf: + - $ref: "#/components/schemas/RouteFilterRulesChange" + RouteFilterRulesPostRequest: + type: object + properties: + data: + type: array + description: Route Filter Rule configuration + items: + $ref: "#/components/schemas/RouteFilterRulesBase" + description: Create Route Filter Rule POST request + CloudRouterPostRequest: + type: object + properties: + type: + type: string + enum: + - XF_ROUTER + name: + type: string + description: Customer-provided Cloud Router name + location: + $ref: "#/components/schemas/SimplifiedLocationWithoutIBX" + package: + $ref: "#/components/schemas/CloudRouterPostRequestPackage" + order: + $ref: "#/components/schemas/Order" + project: + $ref: "#/components/schemas/Project" + account: + $ref: "#/components/schemas/SimplifiedAccount" + notifications: + type: array + description: Preferences for notifications on connection configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + description: Create Cloud Router + CloudRouter: + type: object + properties: + href: + type: string + description: Cloud Routers URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + uuid: + type: string + description: Equinix-assigned access point identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + name: + type: string + description: Customer-provided Cloud Router name + format: string + example: test-fg-1 + state: + $ref: "#/components/schemas/CloudRouterAccessPointState" + equinixAsn: + type: integer + description: Equinix ASN + format: int64 + example: 30000 + bgpIpv4RoutesCount: + minimum: 0 + type: integer + description: Access point used and maximum number of IPv4 BGP routes + bgpIpv6RoutesCount: + minimum: 0 + type: integer + description: Access point used and maximum number of IPv6 BGP routes + connectionsCount: + minimum: 0 + type: integer + description: Number of connections associated with this Access point + distinctIpv4PrefixesCount: + minimum: 0 + type: integer + description: Number of distinct ipv4 routes + distinctIpv6PrefixesCount: + minimum: 0 + type: integer + description: Number of distinct ipv6 routes + changeLog: + $ref: "#/components/schemas/Changelog" + change: + $ref: "#/components/schemas/CloudRouterChange" + description: Fabric Cloud Router object + allOf: + - $ref: "#/components/schemas/CloudRouterPostRequest" + RouterId: + type: string + description: Cloud Router UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + CloudRouterUpdateRequest: + minItems: 1 + type: array + description: Fabric Cloud Router Update Request + items: + $ref: "#/components/schemas/CloudRouterChangeOperation" + RouterId_1: + type: string + description: Router UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + ActionState: + $ref: "#/components/schemas/CloudRouterActionState" + CloudRouterActionState: + type: string + description: Cloud Router action state + enum: + - DONE + - FAILED + - PENDING + CloudRouterActionResponse: + required: + - changeLog + - state + - type + - uuid + type: object + properties: + type: + $ref: "#/components/schemas/CloudRouterActionType" + uuid: + type: string + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + description: + type: string + example: description + state: + $ref: "#/components/schemas/CloudRouterActionState" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Cloud Router actions response object + CloudRouterActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/CloudRouterActionType" + description: Cloud Router action request + RouteTableEntrySearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/RouteTableEntryFilters" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/RouteTableEntrySortCriteria" + description: Search requests containing criteria + RouteTableEntryFilters: + type: object + properties: + and: + maxItems: 8 + type: array + items: + $ref: "#/components/schemas/RouteTableEntryFilter" + RouteTableEntryFilter: + type: object + anyOf: + - $ref: "#/components/schemas/RouteTableEntrySimpleExpression" + - $ref: "#/components/schemas/RouteTableEntryOrFilter" + RouteTableEntrySimpleExpression: + type: object + properties: + property: + type: string + description: | + Possible field names to use on filters: + * `/type` - Route table entry type + * `/prefix` - Route table entry prefix + * `/nextHop` - Route table entry nextHop + * `/state` - Route table entry state + * `/*` - all-category search + example: /type + operator: + type: string + description: | + Possible operators to use on filters: + * `=` - equal + * `!=` - not equal + * `>` - greater than + * `>=` - greater than or equal to + * `<` - less than + * `<=` - less than or equal to + * `[NOT] BETWEEN` - (not) between + * `[NOT] LIKE` - (not) like + * `[NOT] IN` - (not) in + * `~*` - case-insensitive like + example: = + values: + type: array + items: + type: string + example: IPv4_BGP_ROUTE + RouteTableEntryOrFilter: + type: object + properties: + or: + maxItems: 3 + type: array + items: + $ref: "#/components/schemas/RouteTableEntrySimpleExpression" + RouteTableEntrySortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/RouteTableEntrySortDirection" + property: + $ref: "#/components/schemas/RouteTableEntrySortBy" + RouteTableEntrySortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + RouteTableEntrySortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + - /prefix + - /nextHop + - /connection/name + - /type + RouteTableEntrySearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/RouteTableEntry" + ValidateRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/ValidateRequest_filter" + description: Validate connection auth api key or vlan + ValidateSubnetResponse: + type: object + properties: + additionalInfo: + type: array + description: Additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + description: ValidateResponse + CloudRouterSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/CloudRouterFilters" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/CloudRouterSortCriteria" + description: Search requests containing criteria + CloudRouterFilters: + type: object + properties: + and: + maxItems: 8 + type: array + items: + $ref: "#/components/schemas/CloudRouterFilter" + CloudRouterFilter: + type: object + anyOf: + - $ref: "#/components/schemas/CloudRouterSimpleExpression" + - $ref: "#/components/schemas/CloudRouterOrFilter" + CloudRouterSimpleExpression: + type: object + properties: + property: + type: string + description: | + Possible field names to use on filters: + * `/project/projectId` - project id (mandatory) + * `/name` - Fabric Cloud Router name + * `/uuid` - Fabric Cloud Router uuid + * `/state` - Fabric Cloud Router status + * `/location/metroCode` - Fabric Cloud Router metro code + * `/location/metroName` - Fabric Cloud Router metro name + * `/package/code` - Fabric Cloud Router package + * `/*` - all-category search + example: /name + operator: + type: string + description: | + Possible operators to use on filters: + * `=` - equal + * `!=` - not equal + * `>` - greater than + * `>=` - greater than or equal to + * `<` - less than + * `<=` - less than or equal to + * `[NOT] BETWEEN` - (not) between + * `[NOT] LIKE` - (not) like + * `[NOT] IN` - (not) in + * `ILIKE` - case-insensitive like + example: = + values: + type: array + items: + type: string + example: FabricCloudRouter-1 + CloudRouterOrFilter: + type: object + properties: + or: + maxItems: 3 + type: array + items: + $ref: "#/components/schemas/CloudRouterSimpleExpression" + CloudRouterSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/CloudRouterSortDirection" + property: + $ref: "#/components/schemas/CloudRouterSortBy" + CloudRouterSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + CloudRouterSortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /uuid + - /state + - /location/metroCode + - /location/metroName + - /package/code + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + SearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/CloudRouter" + PackageResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/CloudRouterPackage" + RouterPackageCode: + type: string + description: Router package code + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + CloudRouterPackage: + type: object + properties: + href: + type: string + description: Cloud Router package URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/routerPackages/LAB + type: + type: string + description: Type of Router package + example: ROUTER_PACKAGE + enum: + - ROUTER_PACKAGE + code: + $ref: "#/components/schemas/code" + description: + type: string + description: Fabric Cloud Router Package description + totalIPv4RoutesMax: + minimum: 0 + type: integer + description: Cloud Router package BGP IPv4 routes limit + example: 50 + totalIPv6RoutesMax: + minimum: 0 + type: integer + description: Cloud Router package BGP IPv6 routes limit + example: 50 + staticIPv4RoutesMax: + minimum: 0 + type: integer + description: CloudRouter package static IPv4 routes limit + example: 3 + staticIPv6RoutesMax: + minimum: 0 + type: integer + description: CloudRouter package static IPv6 routes limit + naclsMax: + minimum: 0 + type: integer + description: CloudRouter package NACLs limit + example: 2 + naclRulesMax: + minimum: 0 + type: integer + description: CloudRouter package NACLs rules limit + example: 5 + haSupported: + type: boolean + description: CloudRouter package high-available configuration support + example: true + routeFilterSupported: + type: boolean + description: CloudRouter package route filter support + natType: + type: string + description: CloudRouter package NAT supported type + example: STATIC_NAT + enum: + - STATIC_NAT + vcCountMax: + minimum: 0 + type: integer + description: CloudRouter package Max Connection limit + example: 10 + crCountMax: + minimum: 0 + type: integer + description: CloudRouter package Max CloudRouter limit + example: 3 + vcBandwidthMax: + minimum: 0 + type: integer + description: CloudRouter package Max Bandwidth limit + example: 50 + changeLog: + $ref: "#/components/schemas/PackageChangeLog" + description: Fabric Cloud Router Package + HealthResponse: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + version: + type: string + description: Indicator of a version + release: + type: string + description: release details. + state: + type: string + description: status of a service + apiServices: + $ref: "#/components/schemas/ApiServices" + description: GET Services Health + ConnectionResponse: + type: object + properties: + additionalInfo: + type: array + description: Additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + data: + type: array + description: Connection response data + items: + $ref: "#/components/schemas/Connection" + description: ValidateResponse + Pagination: + required: + - limit + - total + type: object + properties: + offset: + minimum: 0 + type: integer + description: Index of the first item returned in the response. The default is 0. + default: 0 + limit: + minimum: 0 + type: integer + description: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20. + default: 20 + total: + minimum: 0 + type: integer + description: Total number of elements returned. + next: + type: string + description: URL relative to the next item in the response. + previous: + type: string + description: URL relative to the previous item in the response. + description: Pagination response information + NetworkPostRequest: + required: + - name + - notifications + - scope + - type + type: object + properties: + type: + $ref: "#/components/schemas/NetworkType" + name: + type: string + description: Customer-provided network name + scope: + $ref: "#/components/schemas/NetworkScope" + location: + $ref: "#/components/schemas/SimplifiedLocation" + project: + $ref: "#/components/schemas/Project" + notifications: + type: array + description: Preferences for notifications on network configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + description: Create Network + Network: + type: object + description: Network specification + allOf: + - required: + - changeLog + - href + - state + - uuid + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + uuid: + type: string + description: Equinix-assigned network identifier + format: uuid + example: 92dc376a-a932-43aa-a6a2-c806dedbd784 + state: + $ref: "#/components/schemas/NetworkState" + connectionsCount: + type: number + description: number of connections created on the network + account: + $ref: "#/components/schemas/SimplifiedAccount" + change: + $ref: "#/components/schemas/SimplifiedNetworkChange" + operation: + $ref: "#/components/schemas/NetworkOperation" + changeLog: + $ref: "#/components/schemas/Changelog" + links: + type: array + description: Network sub-resources links + readOnly: true + items: + $ref: "#/components/schemas/Link" + - $ref: "#/components/schemas/NetworkPostRequest" + NetworkId: + type: string + description: Network UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + NetworkUpdateRequest: + minItems: 1 + type: array + description: Fabric Network Update Request + items: + $ref: "#/components/schemas/NetworkChangeOperation" + NetworkSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/NetworkFilter" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/NetworkSortCriteria" + description: Search requests containing criteria + NetworkFilter: + type: object + properties: + and: + $ref: "#/components/schemas/NetworkSimpleExpression" + or: + $ref: "#/components/schemas/NetworkSimpleExpression" + property: + $ref: "#/components/schemas/NetworkSearchFieldName" + operator: + type: string + example: = + enum: + - = + - "!=" + - ">" + - ">=" + - < + - <= + - BETWEEN + - NOT BETWEEN + - LIKE + - NOT LIKE + - ILIKE + - NOT ILIKE + - IN + - NOT IN + values: + type: array + items: + type: string + example: Network-1 + NetworkSimpleExpression: + type: array + items: + $ref: "#/components/schemas/NetworkFilter" + NetworkSearchFieldName: + type: string + description: Possible field names to use on filters + example: /name + enum: + - /name + - /uuid + - /scope + - /type + - /operation/equinixStatus + - /location/region + - /project/projectId + - /account/globalCustId + - /account/orgId + - /deletedDate + - /* + NetworkSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/NetworkSortDirection" + property: + $ref: "#/components/schemas/NetworkSortBy" + NetworkSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + NetworkSortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /uuid + - /scope + - /operation/equinixStatus + - /location/region + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + NetworkSearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + sort: + type: array + items: + $ref: "#/components/schemas/NetworkSortCriteriaResponse" + data: + type: array + items: + $ref: "#/components/schemas/Network" + description: List of networks + NetworkConnections: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/Connection" + description: List of network changes + NetworkChangeResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/NetworkChange" + description: List of network changes + ChangeId_3: + type: string + description: Network Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + NetworkChange: + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + uuid: + type: string + description: Uniquely identifies a change + format: uuid + example: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: + $ref: "#/components/schemas/NetworkChangeType" + status: + $ref: "#/components/schemas/NetworkChangeStatus" + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + example: 2020-11-06T07:00:00Z + data: + type: array + items: + $ref: "#/components/schemas/NetworkChangeOperation" + description: Current state of latest network change + ServiceId: + type: string + description: Precision Time Service UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + precisionTimeServiceCreateResponse: + title: precisionTimeServiceResponse + required: + - href + - ipv4 + - package + - state + - type + - uuid + type: object + properties: + type: + type: string + enum: + - NTP + - PTP + href: + type: string + format: uri + uuid: + type: string + description: uuid of the ept service + format: uuid + name: + type: string + description: name of the ept service + description: + type: string + state: + type: string + description: indicate service state + enum: + - PROVISIONED + - PROVISIONING + - PROVISIONING_FAILED + - CONFIGURING + - CANCELLED + - DEPROVISIONING_FAILED + - PENDING_CONFIGURATION + - DEPROVISIONED + - CONFIGURING_FAILED + - DEPROVISIONING + package: + $ref: "#/components/schemas/precisionTimePackageResponse" + connections: + maxItems: 2 + minItems: 1 + uniqueItems: true + type: array + description: fabric l2 connections used for the ept service + items: + $ref: "#/components/schemas/fabricConnectionUuid" + ipv4: + $ref: "#/components/schemas/ipv4" + account: + $ref: "#/components/schemas/account" + advanceConfiguration: + $ref: "#/components/schemas/advanceConfiguration" + project: + $ref: "#/components/schemas/Project" + description: EPT service instance + precisionTimeChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + enum: + - /ipv4 + - /name + - /advanceConfiguration/ntp + - /advanceConfiguration/ptp + - /package + value: + type: object + description: new value for updated parameter + description: Fabric Precision Timing change operation data + precisionTimeServiceRequest: + title: precisionTimeServiceRequest + required: + - connections + - ipv4 + - name + - package + - type + type: object + properties: + type: + type: string + description: Indicate the entity is EPT service + enum: + - NTP + - PTP + name: + type: string + description: + type: string + package: + $ref: "#/components/schemas/precisionTimePackageRequest" + connections: + type: array + items: + $ref: "#/components/schemas/fabricConnectionUuid" + ipv4: + $ref: "#/components/schemas/ipv4" + advanceConfiguration: + $ref: "#/components/schemas/advanceConfiguration" + project: + $ref: "#/components/schemas/Project" + description: EPT service instance + precisionTimeServiceConnectionsResponse: + title: precisionTimeServiceConnectionResponse + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call + items: + $ref: "#/components/schemas/connectionLink" + description: EPT service instance's L2 connections + precisionTimeServicePackagesResponse: + title: precisionTimeServicePackagesResponse + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call + items: + $ref: "#/components/schemas/precisionTimePackageResponse" + description: Precision Packages + precisionTimePackageResponse: + title: precisionTimePackageRespose + required: + - code + type: object + properties: + href: + type: string + format: uri + code: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + type: + type: string + enum: + - TIME_SERVICE_PACKAGE + bandwidth: + type: integer + example: 10 + clientsPerSecondMax: + type: integer + example: 100 + redundancySupported: + type: boolean + example: true + multiSubnetSupported: + type: boolean + example: true + accuracyUnit: + type: string + example: microseconds + accuracySla: + type: integer + example: 50 + accuracyAvgMin: + type: integer + example: 1 + accuracyAvgMax: + type: integer + example: 10 + changelog: + $ref: "#/components/schemas/Changelog" + description: EPT Service Package Information + example: + href: https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD + code: NTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 10 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + clientsPerSecondMax: 100 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + ConnectionType: + type: string + description: Connection type + enum: + - EVPL_VC + - EPL_VC + - EC_VC + - IP_VC + - ACCESS_EPL_VC + - EIA_VC + - EVPLAN_VC + - EPLAN_VC + - IPWAN_VC + - IA_VC + Order: + type: object + properties: + purchaseOrderNumber: + type: string + description: Purchase order number + customerReferenceNumber: + type: string + description: Customer reference number + billingTier: + type: string + description: Billing tier for connection bandwidth + orderId: + type: string + description: Order Identification + orderNumber: + type: string + description: Order Reference Number + SimplifiedNotification: + required: + - emails + - type + type: object + properties: + type: + type: string + description: Notification Type + example: BANDWIDTH_ALERT + enum: + - NOTIFICATION + - BANDWIDTH_ALERT + - CONNECTION_APPROVAL + - PROFILE_LIFECYCLE + - ALL + - SALES_REP_NOTIFICATIONS + sendInterval: + type: string + emails: + type: array + description: Array of contact emails + items: + type: string + format: email + registeredUsers: + type: array + description: Array of registered users + items: + type: string + ConnectionRedundancy: + type: object + properties: + group: + type: string + description: Redundancy group identifier (UUID of primary connection) + priority: + $ref: "#/components/schemas/ConnectionPriority" + description: Connection redundancy configuration + ConnectionSide: + type: object + properties: + serviceToken: + $ref: "#/components/schemas/ServiceToken" + accessPoint: + $ref: "#/components/schemas/AccessPoint" + internetAccess: + $ref: "#/components/schemas/InternetAccess" + companyProfile: + $ref: "#/components/schemas/ConnectionCompanyProfile" + invitation: + $ref: "#/components/schemas/ConnectionInvitation" + additionalInfo: + type: array + description: Any additional information, which is not part of connection metadata or configuration + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + description: Connection configuration object for each side of multi-segment connection + Project: + required: + - projectId + type: object + properties: + projectId: + type: string + description: Subscriber-assigned project ID + example: 44f4c4f8-2f39-494e-838c-d8e640591be5 + ConnectionSideAdditionalInfo: + type: object + properties: + key: + type: string + description: Key + value: + type: string + description: Value + description: Additional information + ConnectionState: + type: string + description: Connection status + enum: + - ACTIVE + - CANCELLED + - DEPROVISIONED + - DEPROVISIONING + - DRAFT + - FAILED + - PENDING + - PROVISIONED + - PROVISIONING + - REPROVISIONING + - "" + Change: + required: + - createdDateTime + - type + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - CONNECTION_CREATION + - CONNECTION_UPDATE + - CONNECTION_DELETION + - CONNECTION_PROVIDER_STATUS_REQUEST + status: + type: string + description: Current outcome of the change flow + enum: + - APPROVED + - COMPLETED + - FAILED + - REJECTED + - REQUESTED + - SUBMITTED_FOR_APPROVAL + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + example: 2020-11-06T07:00:00Z + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/ConnectionChangeOperation" + description: Current state of latest connection change + ConnectionOperation: + type: object + properties: + providerStatus: + $ref: "#/components/schemas/ProviderStatus" + equinixStatus: + $ref: "#/components/schemas/EquinixStatus" + operationalStatus: + type: string + description: Connection operational status + enum: + - UP + - DOWN + errors: + type: array + items: + $ref: "#/components/schemas/Error" + opStatusChangedAt: + type: string + description: When connection transitioned into current operational status + format: date-time + example: 2020-11-06T07:00:00Z + description: Connection type-specific operational data + SimplifiedAccount: + type: object + properties: + accountNumber: + type: integer + description: Account number + format: int64 + accountName: + type: string + description: Account name + orgId: + type: integer + description: Customer organization identifier + format: int64 + organizationName: + type: string + description: Customer organization name + globalOrgId: + type: string + description: Global organization identifier + globalOrganizationName: + type: string + description: Global organization name + ucmId: + type: string + description: Account ucmId + globalCustId: + type: string + description: Account name + resellerAccountNumber: + type: integer + description: Reseller account number + format: int64 + resellerAccountName: + type: string + description: Reseller account name + resellerUcmId: + type: string + description: Reseller account ucmId + resellerOrgId: + type: integer + description: Reseller customer organization identifier + format: int64 + Changelog: + type: object + properties: + createdBy: + type: string + description: Created by User Key + example: johnsmith + createdByFullName: + type: string + description: Created by User Full Name + example: John Smith + createdByEmail: + type: string + description: Created by User Email Address + example: john.smith@example.com + 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 + updatedByFullName: + type: string + description: Updated by User Full Name + example: John Smith + updatedByEmail: + type: string + description: Updated by User Email Address + example: john.smith@example.com + 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 + deletedByFullName: + type: string + description: Deleted by User Full Name + example: John Smith + deletedByEmail: + type: string + description: Deleted by User Email Address + example: john.smith@example.com + deletedDateTime: + type: string + description: Deleted by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + description: Change log + Error: + required: + - errorCode + - errorMessage + type: object + properties: + errorCode: + pattern: ^EQ-\d{7}$ + type: string + errorMessage: + type: string + correlationId: + type: string + details: + type: string + help: + type: string + additionalInfo: + type: array + items: + $ref: "#/components/schemas/PriceError_additionalInfo" + description: Error Response with details + ConnectionChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: add + path: + type: string + description: path inside document leading to updated parameter + example: /ipv6 + value: + type: object + description: new value for updated parameter + description: Connection change operation data + Actions: + type: string + description: Connection action type + enum: + - CONNECTION_CREATION_ACCEPTANCE + - CONNECTION_CREATION_REJECTION + - CONNECTION_UPDATE_ACCEPTANCE + - CONNECTION_UPDATE_REJECTION + - CONNECTION_DELETION_ACCEPTANCE + - CONNECTION_REJECTION_ACCEPTANCE + - CONNECTION_UPDATE_REQUEST + - MIGRATION_EVPL_VC + - CONNECTION_PROVIDER_STATUS_REQUEST + - ACCEPT_HOSTED_CONNECTION + - CANCEL_EVPL_VC_DRAFT_ORDERS + ConnectionAcceptanceData: + type: object + properties: + zSide: + $ref: "#/components/schemas/ConnectionSide" + description: Connection acceptance data + BGPConnectionIpv4: + required: + - customerPeerIp + - enabled + type: object + properties: + customerPeerIp: + type: string + description: Customer side peering ip + example: 10.1.1.2 + equinixPeerIp: + type: string + description: Equinix side peering ip + example: 10.1.1.3 + enabled: + type: boolean + description: Admin status for the BGP session + outboundASPrependCount: + type: integer + description: AS path prepend count + format: int64 + example: 3 + operation: + $ref: "#/components/schemas/BGPConnectionOperation" + BGPConnectionIpv6: + required: + - customerPeerIp + - enabled + type: object + properties: + customerPeerIp: + type: string + description: Customer side peering ip + example: 2001:db8:c59b::1 + equinixPeerIp: + type: string + description: Equinix side peering ip + example: 2001:db8:c59b::1 + enabled: + type: boolean + description: Admin status for the BGP session + outboundASPrependCount: + type: integer + description: AS path prepend count + format: int64 + example: 3 + operation: + $ref: "#/components/schemas/BGPConnectionOperation" + RoutingProtocolBFD: + required: + - enabled + type: object + properties: + enabled: + type: boolean + interval: + type: string + example: "100" + DirectConnectionIpv4: + type: object + properties: + equinixIfaceIp: + type: string + description: Equinix side Interface IP address + example: 192.168.100.0/30 + DirectConnectionIpv6: + required: + - equinixIfaceIp + type: object + properties: + equinixIfaceIp: + type: string + description: Equinix side Interface IP address + example: 2001:db8:c59b::/1 + RoutingProtocolBGPData: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + name: + type: string + example: My-BGP-route-1 + bgpIpv4: + $ref: "#/components/schemas/BGPConnectionIpv4" + bgpIpv6: + $ref: "#/components/schemas/BGPConnectionIpv6" + customerAsn: + type: integer + description: Customer asn + format: int64 + example: 65002 + equinixAsn: + type: integer + description: Equinix asn + format: int64 + example: 65002 + bgpAuthKey: + type: string + description: BGP authorization key + example: testAuthKey + bfd: + $ref: "#/components/schemas/RoutingProtocolBFD" + href: + type: string + description: Routing Protocol URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5 + uuid: + type: string + description: Routing protocol identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: + type: string + enum: + - PROVISIONED + - DEPROVISIONED + - PROVISIONING + - DEPROVISIONING + - REPROVISIONING + - FAILED + operation: + $ref: "#/components/schemas/RoutingProtocolOperation" + change: + $ref: "#/components/schemas/RoutingProtocolChange" + changelog: + $ref: "#/components/schemas/Changelog" + RoutingProtocolDirectData: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - DIRECT + name: + type: string + example: My-direct-route-1 + directIpv4: + $ref: "#/components/schemas/DirectConnectionIpv4" + directIpv6: + $ref: "#/components/schemas/DirectConnectionIpv6" + href: + type: string + description: Routing Protocol URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5 + uuid: + type: string + description: Routing protocol identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: + type: string + enum: + - PROVISIONED + - DEPROVISIONED + - PROVISIONING + - DEPROVISIONING + - REPROVISIONING + - FAILED + operation: + $ref: "#/components/schemas/RoutingProtocolOperation" + change: + $ref: "#/components/schemas/RoutingProtocolChange" + changelog: + $ref: "#/components/schemas/Changelog" + BGPActions: + type: string + description: BGP action type + enum: + - CLEAR_BGPIPV4 + - CLEAR_BGPIPV6 + - CLEAR_BGPIPV4_INBOUND + - CLEAR_BGPIPV6_INBOUND + - RESET_BGPIPV4 + - RESET_BGPIPV6 + BGPActionStates: + type: string + description: BGP action state + enum: + - PENDING + - FAILED + - SUCCEEDED + RoutingProtocolChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - ROUTING_PROTOCOL_UPDATE + - ROUTING_PROTOCOL_CREATION + - ROUTING_PROTOCOL_DELETION + href: + type: string + description: Routing Protocol Change URI + format: uri + description: Current state of latest Routing Protocol change + RoutingProtocolChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RoutingProtocolBase" + description: Routing Protocol change operation data + PaginationRequest: + type: object + properties: + offset: + minimum: 0 + type: integer + description: Index of the first element. + default: 0 + limit: + minimum: 1 + type: integer + description: Number of elements to be requested per page. Number must be between 1 and 100, and the default is 20. + default: 20 + description: Pagination request information + SortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + SortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /direction + - /aSide/accessPoint/name + - /aSide/accessPoint/type + - /aSide/accessPoint/account/accountName + - /aSide/accessPoint/location/metroName + - /aSide/accessPoint/location/metroCode + - /aSide/accessPoint/linkProtocol/vlanCTag + - /aSide/accessPoint/linkProtocol/vlanSTag + - /zSide/accessPoint/name + - /zSide/accessPoint/type + - /zSide/accessPoint/account/accountName + - /zSide/accessPoint/location/metroName + - /zSide/accessPoint/location/metroCode + - /zSide/accessPoint/linkProtocol/vlanCTag + - /zSide/accessPoint/linkProtocol/vlanSTag + - /zSide/accessPoint/authenticationKey + - /bandwidth + - /geoScope + - /uuid + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + - /operation/equinixStatus + - /operation/providerStatus + - /redundancy/priority + SortCriteriaResponse: + type: object + properties: + direction: + $ref: "#/components/schemas/SortDirection" + property: + $ref: "#/components/schemas/SortBy" + Price: + type: object + properties: + href: + type: string + description: An absolute URL that returns specified pricing data + format: url + type: + $ref: "#/components/schemas/ProductType" + code: + type: string + description: Equinix-assigned product code + name: + type: string + description: Full product name + description: + type: string + description: Product description + account: + $ref: "#/components/schemas/SimplifiedAccount" + charges: + type: array + items: + $ref: "#/components/schemas/PriceCharge" + currency: + type: string + description: Product offering price currency + termLength: + type: integer + description: In months. No value means unlimited + enum: + - 12 + - 24 + - 36 + catgory: + $ref: "#/components/schemas/PriceCategory" + connection: + $ref: "#/components/schemas/VirtualConnectionPrice" + ipBlock: + $ref: "#/components/schemas/IpBlockPrice" + router: + $ref: "#/components/schemas/FabricCloudRouterPrice" + port: + $ref: "#/components/schemas/VirtualPortPrice" + ServiceProfileTypeEnum: + type: string + description: Service profile type + example: L2_PROFILE + enum: + - L2_PROFILE + - L3_PROFILE + - IA_PROFILE + ServiceProfileVisibilityEnum: + type: string + enum: + - PRIVATE + - PUBLIC + SimplifiedLocation: + type: object + properties: + region: + type: string + example: AMER, APAC, EMEA + metroName: + type: string + example: Amsterdam + metroCode: + type: string + example: AM + metroHref: + type: string + example: https://api.equinix.com/fabric/v4/metros/AM + ibx: + type: string + example: AM1 + ServiceProfileStateEnum: + type: string + description: Equinix assigned state. + example: ACTIVE + enum: + - ACTIVE + - PENDING_APPROVAL + - DELETED + - REJECTED + ServiceTokenType: + type: string + description: Type of Service Token + enum: + - VC_TOKEN + ServiceTokenConnection: + required: + - type + type: object + properties: + type: + type: string + description: Type of Connection + enum: + - EVPL_VC + href: + type: string + description: An absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + format: uuid + allowRemoteConnection: + type: boolean + description: Authorization to connect remotely + default: false + bandwidthLimit: + maximum: 100000 + minimum: 0 + type: integer + description: Connection bandwidth limit in Mbps + supportedBandwidths: + type: array + description: List of permitted bandwidths. + items: + type: integer + aSide: + $ref: "#/components/schemas/ServiceTokenSide" + zSide: + $ref: "#/components/schemas/ServiceTokenSide" + description: Service Token Connection Type Information + ServiceTokenState: + type: string + description: Service token state + enum: + - ACTIVE + - INACTIVE + - EXPIRED + - DELETED + ServiceTokenChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + example: /expirationDateTime + value: + type: object + description: new value for updated parameter + description: Service Token change operation data + ServiceTokenActions: + type: string + description: Service Token action type + enum: + - RESEND_EMAIL_NOTIFICATION + PortType: + type: string + description: Type of Port + enum: + - XF_PORT + - IX_PORT + PortState: + type: string + description: Port lifecycle state + enum: + - PENDING + - PROVISIONING + - PROVISIONED + - ACTIVE + - DEPROVISIONING + - DEPROVISIONED + - INACTIVE + - FAILED + - ADDED + - DELETED + - TO_BE_ADDED + - TO_BE_DELETED + PortOrder: + type: object + properties: + purchaseOrder: + $ref: "#/components/schemas/PortOrder_purchaseOrder" + orderId: + type: string + description: Order Identification + orderNumber: + type: string + description: Order Reference Number + uuid: + type: string + description: Equinix-assigned order identifier + format: uuid + signature: + $ref: "#/components/schemas/PortOrder_signature" + PortOperation: + type: object + properties: + operationalStatus: + type: string + description: Availability of a given physical port. + enum: + - UP + - DOWN + connectionCount: + type: integer + description: Total number of connections. + opStatusChangedAt: + type: string + description: Date and time at which port availability changed. + format: date-time + example: 2020-11-06T07:00:00Z + description: Operational specifications for ports. + PortDevice: + type: object + properties: + name: + type: string + description: Device name + redundancy: + $ref: "#/components/schemas/PortDeviceRedundancy" + description: Port device + PortInterface: + type: object + properties: + type: + type: string + description: Port interface type + ifIndex: + type: string + description: Port interface index + name: + type: string + description: Port interface name + description: Port interface + PortDemarcationPoint: + type: object + properties: + cabinetUniqueSpaceId: + type: string + description: Port cabinet unique space id + cageUniqueSpaceId: + type: string + description: Port cage unique space id + patchPanel: + type: string + description: Port patch panel + patchPanelName: + type: string + description: Port patch panel + deprecated: true + patchPanelPortA: + type: string + description: Port patch panel port A + patchPanelPortB: + type: string + description: Port patch panel port B + connectorType: + type: string + description: Port connector type + ibx: + type: string + description: Port ibx identifier + description: Customer physical Port + PortRedundancy: + type: object + properties: + enabled: + type: boolean + description: Access point redundancy + group: + type: string + description: Port UUID of respective primary port + priority: + $ref: "#/components/schemas/PortPriority" + description: Port redundancy configuration + PortEncapsulation: + type: object + properties: + type: + type: string + description: Port encapsulation protocol type + enum: + - "NULL" + - DOT1Q + - QINQ + - UNTAGGED + tagProtocolId: + type: string + description: Port encapsulation tag protocol identifier + description: Port encapsulation configuration + PortLag: + type: object + properties: + id: + type: string + description: id + enabled: + type: boolean + description: enabled + name: + type: string + description: name + memberStatus: + type: string + description: member status + description: Port Lag + PortSettings: + type: object + properties: + product: + type: string + description: Product name + buyout: + type: boolean + viewPortPermission: + type: boolean + placeVcOrderPermission: + type: boolean + layer3Enabled: + type: boolean + productCode: + type: string + sharedPortType: + type: boolean + sharedPortProduct: + type: string + enum: + - NETWORK_EDGE + - VIRTUAL_GATEWAY + - SMARTKEY + - EDGE_METAL + packageType: + type: string + description: Type of Port Package + enum: + - STANDARD + - UNTAGGED + - UNLIMITED + - UNLIMITED PLUS + description: Port configuration settings + PortNotification: + required: + - registeredUsers + - type + type: object + properties: + type: + type: string + description: Notification Type + enum: + - NOTIFICATION + - TECHNICAL + - PEERING + - ESCALATION + registeredUsers: + type: array + description: Array of registered users + items: + type: string + PortAdditionalInfo: + type: object + properties: + key: + type: string + description: Key + value: + type: string + description: Value + description: Additional information + PortLoa: + type: object + properties: + uuid: + type: string + description: uuid + href: + type: string + description: Loa uri. + format: uri + readOnly: true + type: + type: string + description: Loa type + enum: + - CTR_LOA + description: Port Loas + PhysicalPortType: + type: string + description: Type of Port + enum: + - XF_PHYSICAL_PORT + PortTether: + type: object + properties: + crossConnectId: + type: string + description: Port cross connect identifier + cabinetNumber: + type: string + description: Port cabinet number + systemName: + type: string + description: Port system name + patchPanel: + type: string + description: Port patch panel + patchPanelPortA: + type: string + description: Port patch panel port A + patchPanelPortB: + type: string + description: Port patch panel port B + ibx: + type: string + description: z-side/Equinix IBX + description: Port physical connection + LinkProtocolResponse: + type: object + properties: + href: + type: string + description: LinkProtocol URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned network identifier + format: uuid + example: 92dc376a-a932-43aa-a6a2-c806dedbd784 + state: + $ref: "#/components/schemas/LinkProtocolState" + type: + $ref: "#/components/schemas/LinkProtocolRequestType" + vlanTag: + type: integer + example: 20 + vni: + type: integer + example: 20 + vlanTagMin: + type: integer + example: 20 + vlanTagMax: + type: integer + example: 200 + vlanSTag: + type: integer + example: 20 + vlanCTag: + type: integer + example: 20 + vlanCTagMin: + type: integer + example: 20 + vlanCTagMax: + type: integer + example: 200 + subInterface: + $ref: "#/components/schemas/SubInterface" + asset: + $ref: "#/components/schemas/LinkProtocolConnection" + serviceToken: + $ref: "#/components/schemas/LinkProtocolServiceToken" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Link Protocol response + PortSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + PortSortBy: + type: string + description: Possible field names to use on sorting + default: /device/name + enum: + - /device/name + RouteFilterState: + type: string + description: Route Filter status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFiltersChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_UPDATE + - BGP_IPv4_PREFIX_FILTER_CREATION + - BGP_IPv4_PREFIX_FILTER_DELETION + - BGP_IPv6_PREFIX_FILTER_UPDATE + - BGP_IPv6_PREFIX_FILTER_CREATION + - BGP_IPv6_PREFIX_FILTER_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter change + RouteFiltersPatchRequestItem: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /name + value: + type: object + description: new value for updated parameter + description: Route Filter change operation data + RouteFiltersChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RouteFiltersBase" + description: Route Filter change operation data + RouteFilterConnectionsData: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: + $ref: "#/components/schemas/ConnectionType" + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: connection-1 + RouteFilterRuleState: + type: string + description: Route Filter Rule status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFilterRulesChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter Rule change + RouteFilterRulesPatchRequestItem: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /prefixMatch + value: + type: object + description: new value for updated parameter + description: Route Filter Rule change operation data + RouteFilterRulesChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RouteFilterRulesBase" + description: Route Filter Rule change operation data + SimplifiedLocationWithoutIBX: + required: + - metroCode + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + region: + type: string + example: AMER, APAC, EMEA + metroName: + type: string + example: Amsterdam + metroCode: + type: string + example: AM + CloudRouterPostRequestPackage: + required: + - code + type: object + properties: + href: + type: string + description: Fabric Cloud Router URI + format: uri + example: https://api.equinix.com/fabric/v4/routerPackages/LAB + type: + type: string + description: Cloud Router package type + example: ROUTER_PACKAGE + enum: + - ROUTER_PACKAGE + code: + type: string + description: Cloud Router package code + example: LAB + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + description: Fabric Cloud Router Package Type + CloudRouterAccessPointState: + type: string + description: Access point lifecycle state + enum: + - PROVISIONED + - PROVISIONING + - DEPROVISIONING + - DEPROVISIONED + - LOCKED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + CloudRouterChange: + required: + - type + - updatedDateTime + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - ROUTER_UPDATE + - ROUTER_PACKAGE_UPDATE + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + example: 2020-11-06T07:00:00Z + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/CloudRouterChangeOperation" + description: Current state of latest CloudRouter change + CloudRouterChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + value: + type: object + description: new value for updated parameter + description: Fabric Cloud Router change operation data + CloudRouterActionType: + type: string + description: Cloud Router action type + enum: + - BGP_SESSION_STATUS_UPDATE + - ROUTE_TABLE_ENTRY_UPDATE + RouteTableEntry: + required: + - changeLog + - state + - type + type: object + properties: + type: + $ref: "#/components/schemas/RouteTableEntryType" + protocolType: + $ref: "#/components/schemas/RouteTableEntryProtocolType" + state: + $ref: "#/components/schemas/RouteTableEntryState" + age: + type: string + example: PT5M30S + prefix: + type: string + example: 192.168.10.0/24 + nextHop: + type: string + example: 10.10.10.5 + metric: + type: integer + example: 5 + localPreference: + type: integer + example: 200 + asPath: + type: array + items: + type: integer + connection: + $ref: "#/components/schemas/RouteTableEntry_connection" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Route table entry object + code: + type: string + description: Cloud Router package code + example: LAB + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + PackageChangeLog: + type: object + properties: + createdDateTime: + type: string + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + format: date-time + example: 2020-11-06T07:00:00Z + description: Cloud Router package change log + ApiServices: + type: object + properties: + route: + type: string + description: service routes + status: + type: string + description: service status + changedDateTime: + type: string + description: service status change date + description: Available services details + NetworkType: + type: string + description: Network type + enum: + - EVPLAN + - EPLAN + - IPWAN + NetworkScope: + type: string + description: Network scope + enum: + - REGIONAL + - GLOBAL + - LOCAL + NetworkState: + type: string + description: Network status + example: ACTIVE + enum: + - ACTIVE + - INACTIVE + - DELETED + SimplifiedNetworkChange: + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + uuid: + type: string + description: Uniquely identifies a change + format: uuid + example: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: + $ref: "#/components/schemas/NetworkChangeType" + description: Current state of latest network change + NetworkOperation: + type: object + properties: + equinixStatus: + $ref: "#/components/schemas/NetworkEquinixStatus" + description: Network operational data + Link: + type: object + properties: + href: + type: string + description: Resource URI + format: uri + readOnly: true + rel: + type: string + description: OperationId from Swagger hub spec + method: + type: string + description: Http method type + contentType: + type: string + description: Content type for the response + authenticate: + type: boolean + description: Authentication required or not + NetworkChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + example: /name + value: + type: object + description: new value for updated parameter + description: Network change operation data + NetworkSortCriteriaResponse: + type: object + properties: + direction: + $ref: "#/components/schemas/NetworkSortDirectionResponse" + property: + $ref: "#/components/schemas/NetworkSortByResponse" + NetworkChangeType: + type: string + description: Type of change + enum: + - NETWORK_CREATION + - NETWORK_UPDATE + - NETWORK_DELETION + NetworkChangeStatus: + type: string + description: Current outcome of the change flow + enum: + - APPROVED + - COMPLETED + - FAILED + - REJECTED + - REQUESTED + - SUBMITTED_FOR_APPROVAL + fabricConnectionUuid: + title: fabricConnectionUuid + required: + - uuid + type: object + properties: + uuid: + type: string + description: uuid of the Fabric L2 connection + format: uuid + href: + type: string + description: the href for the L2 connection + format: uri + type: + type: string + description: UUID of the Fabric Connection Instance + example: + uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f + ipv4: + title: ipv4 + type: object + properties: + primary: + type: string + format: ipv4 + secondary: + type: string + format: ipv4 + networkMask: + type: string + format: ipv4 + defaultGateway: + type: string + format: ipv4 + description: EPT service network information + example: + primary: 10.0.0.1 + secondary: 10.0.0.2 + networkMask: 255.255.255.240 + defaultGateway: 10.0.0.3 + account: + required: + - accountNumber + type: object + properties: + accountNumber: + type: integer + isResellerAccount: + type: boolean + orgId: + type: string + globalOrgId: + type: string + description: Account model, includes account number and flag to indicate if this account is reseller + example: + accountNumber: 123456 + advanceConfiguration: + type: object + properties: + ntp: + $ref: "#/components/schemas/ntpAdvanceConfiguration" + ptp: + $ref: "#/components/schemas/ptpAdvanceConfiguration" + description: Advance Configuration for NTP/PTP + precisionTimePackageRequest: + title: precisionTimePackageRequest + required: + - code + type: object + properties: + href: + type: string + format: uri + code: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + description: EPT Package Request + example: + code: NTP_STANDARD + connectionLink: + type: object + properties: + href: + type: string + format: uri + example: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + type: + type: string + enum: + - EVPL_VC + uuid: + type: string + format: uuid + ConnectionPriority: + type: string + description: Connection priority in redundancy group + enum: + - PRIMARY + - SECONDARY + AccessPoint: + type: object + properties: + type: + $ref: "#/components/schemas/AccessPointType" + account: + $ref: "#/components/schemas/SimplifiedAccount" + location: + $ref: "#/components/schemas/SimplifiedLocation" + port: + $ref: "#/components/schemas/SimplifiedPort" + profile: + $ref: "#/components/schemas/SimplifiedServiceProfile" + router: + $ref: "#/components/schemas/CloudRouter" + linkProtocol: + $ref: "#/components/schemas/SimplifiedLinkProtocol" + virtualDevice: + $ref: "#/components/schemas/VirtualDevice" + interface: + $ref: "#/components/schemas/Interface" + network: + $ref: "#/components/schemas/SimplifiedNetwork" + sellerRegion: + type: string + description: Access point seller region + peeringType: + $ref: "#/components/schemas/PeeringType" + authenticationKey: + type: string + description: Access point authentication key + providerConnectionId: + type: string + description: Provider assigned Connection Id + virtualNetwork: + $ref: "#/components/schemas/VirtualNetwork" + interconnection: + $ref: "#/components/schemas/MetalInterconnection" + vpic_interface: + $ref: "#/components/schemas/VpicInterface" + description: Access point object + InternetAccess: + type: object + properties: + uuid: + type: string + description: Internet Access Service Identifier + format: uuid + description: Internet Access Details + ConnectionCompanyProfile: + type: object + properties: + id: + type: number + description: company profile identifier + example: 1 + name: + type: string + description: company profile name + example: Company-1 + globalOrgId: + type: string + description: global customer organization value + description: Connection Company Profile Details + ConnectionInvitation: + type: object + properties: + email: + type: string + description: invitee email + example: test@equinix.com + message: + type: string + description: invitation message + example: Hello, Please accept my invitation + ctrDraftOrderId: + type: string + description: draft order id for invitation + description: Connection Invitation Details + ProviderStatus: + type: string + description: Connection provider readiness status + enum: + - AVAILABLE + - DEPROVISIONED + - DEPROVISIONING + - FAILED + - NOT_AVAILABLE + - PENDING_APPROVAL + - PENDING_CONFIGURATION + - PROVISIONED + - PROVISIONING + - REJECTED + - PENDING_BGP + - OUT_OF_BANDWIDTH + - DELETED + - ERROR + - ERRORED + - NOTPROVISIONED + - NOT_PROVISIONED + - ORDERING + - DELETING + - PENDING DELETE + - N/A + EquinixStatus: + type: string + description: Connection status + enum: + - REJECTED_ACK + - REJECTED + - PENDING_DELETE + - PROVISIONED + - BEING_REPROVISIONED + - BEING_DEPROVISIONED + - BEING_PROVISIONED + - CREATED + - ERRORED + - PENDING_DEPROVISIONING + - APPROVED + - ORDERING + - PENDING_APPROVAL + - NOT_PROVISIONED + - DEPROVISIONING + - NOT_DEPROVISIONED + - PENDING_AUTO_APPROVAL + - PROVISIONING + - PENDING_BGP_PEERING + - PENDING_PROVIDER_VLAN + - DEPROVISIONED + - DELETED + - PENDING_BANDWIDTH_APPROVAL + - AUTO_APPROVAL_FAILED + - UPDATE_PENDING + - DELETED_API + - MODIFIED + - PENDING_PROVIDER_VLAN_ERROR + - DRAFT + - CANCELLED + - PENDING_INTERFACE_CONFIGURATION + BGPConnectionOperation: + type: object + properties: + operationalStatus: + type: string + description: BGP IPv4 or IPv6 Connection State operational status + enum: + - UP + - DOWN + - UNKNOWN + opStatusChangedAt: + type: string + description: Last BGP State Update by Date and Time + format: date-time + example: 2021-10-30T07:21:39Z + description: BGP IPv4 or IPv6 Connection State operational data + RoutingProtocolOperation: + type: object + properties: + errors: + type: array + items: + $ref: "#/components/schemas/Error" + ProductType: + type: string + description: Product type + enum: + - VIRTUAL_CONNECTION_PRODUCT + - IP_BLOCK_PRODUCT + - VIRTUAL_PORT_PRODUCT + - CLOUD_ROUTER_PRODUCT + PriceCharge: + type: object + properties: + type: + type: string + description: Price charge type + enum: + - MONTHLY_RECURRING + - NON_RECURRING + price: + minimum: 0 + type: number + description: Offering price + format: double + description: Price Charge + PriceCategory: + type: string + description: Price category + enum: + - COUNTRY + - CUSTOMER + VirtualConnectionPrice: + type: object + properties: + uuid: + type: string + description: Either uuid or rest of attributes are required + format: uuid + type: + $ref: "#/components/schemas/VirtualConnectionPriceConnectionType" + bandwidth: + minimum: 0 + type: integer + aSide: + $ref: "#/components/schemas/VirtualConnectionPriceASide" + zSide: + $ref: "#/components/schemas/VirtualConnectionPriceZSide" + description: Virtual Connection Product configuration + IpBlockPrice: + type: object + properties: + uuid: + type: string + description: Either uuid or rest of attributes are required + format: uuid + type: + $ref: "#/components/schemas/IpBlockType" + prefixLength: + type: integer + location: + $ref: "#/components/schemas/PriceLocation" + description: IP Block Product configuration + FabricCloudRouterPrice: + type: object + properties: + uuid: + type: string + description: Unique identifier assigned to the Cloud Router + format: uuid + location: + $ref: "#/components/schemas/PriceLocation" + package: + $ref: "#/components/schemas/FabricCloudRouterPackages" + description: Cloud Router Product configuration + VirtualPortPrice: + type: object + properties: + uuid: + type: string + description: Unique identifier assigned to the virtual port. Either the uuid or the remaining attributes must be supplied. + format: uuid + type: + $ref: "#/components/schemas/VirtualPortType" + location: + $ref: "#/components/schemas/VirtualPortLocation" + lag: + $ref: "#/components/schemas/LinkAggregationGroup" + physicalPortsQuantity: + type: integer + description: Number of physical ports requested. The defaults is 1. + default: 1 + bandwidth: + type: integer + description: Aggregated data transfer capacity, expressed as follows
-> Mbps, megabits (1 million bits) per second
-> Gbps, gigabits (1 billion bits) per second
Bandwidth must be divisible by physicalPortsQuantity. + redundancy: + $ref: "#/components/schemas/VirtualPortRedundancy" + connectivitySource: + $ref: "#/components/schemas/ConnectivitySource" + serviceType: + $ref: "#/components/schemas/VirtualPortServiceType" + settings: + $ref: "#/components/schemas/VirtualPortConfiguration" + description: Preferences and settings for a virtual port connected to an internet service provider (ISP) or other Equinix platform entity. + ServiceTokenSide: + type: object + properties: + accessPointSelectors: + type: array + description: List of AccessPointSelectors + items: + $ref: "#/components/schemas/AccessPointSelector" + description: Connection link protocol configuration + PortDeviceRedundancy: + type: object + properties: + group: + type: string + description: Device redundancy group + priority: + type: string + description: Device redundancy priority + enum: + - PRIMARY + - SECONDARY + description: Device redundancy + PortPriority: + type: string + description: Port priority in redundancy group + enum: + - PRIMARY + - SECONDARY + LinkProtocolState: + type: string + description: Network status + enum: + - RESERVED + - RELEASED + LinkProtocolRequestType: + type: string + description: Type of Link Protocol + enum: + - UNTAGGED + - DOT1Q + - QINQ + - VXLAN + SubInterface: + type: object + properties: + name: + type: string + description: name of subinterafce of a port + unit: + type: integer + example: 200 + description: Sub Interface information + LinkProtocolConnection: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + readOnly: true + uuid: + type: string + format: string + example: cd67f685-41b0-1b07-6de0-320a5c00abe + type: + type: string + example: EVPL_VC + bandwidth: + type: integer + format: int64 + example: 100 + description: Connection details of Link Protocol + LinkProtocolServiceToken: + type: object + properties: + href: + type: string + description: Service Token URI + format: uri + readOnly: true + uuid: + type: string + format: uuid + example: cd67f685-41b0-1b07-6de0-0320a5c00abe + type: + type: string + example: TOKEN + bandwidth: + type: integer + format: int64 + example: 1000 + description: Service Token details of Link Protocol + RouteTableEntryType: + type: string + description: Route table entry type + enum: + - IPv4_BGP_ROUTE + - IPv4_STATIC_ROUTE + - IPv4_DIRECT_ROUTE + - IPv6_BGP_ROUTE + - IPv6_STATIC_ROUTE + - IPv6_DIRECT_ROUTE + RouteTableEntryProtocolType: + type: string + description: Route table entry protocol type + enum: + - BGP + - STATIC + - DIRECT + RouteTableEntryState: + type: string + description: Route table entry state + enum: + - ACTIVE + NetworkEquinixStatus: + type: string + description: Network status + enum: + - PROVISIONING + - PROVISIONED + - NOT_PROVISIONED + - DEPROVISIONING + - DEPROVISIONED + - NOT_DEPROVISIONED + NetworkSortDirectionResponse: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + NetworkSortByResponse: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /type + - /uuid + - /state + - /scope + - /location/region + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + ntpAdvanceConfiguration: + type: array + items: + $ref: "#/components/schemas/md5" + ptpAdvanceConfiguration: + type: object + properties: + timeScale: + type: string + description: Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol. + example: ARB + enum: + - ARB + - PTP + domain: + maximum: 127 + minimum: 0 + type: integer + example: 0 + priority1: + maximum: 248 + minimum: 0 + type: integer + example: 0 + priority2: + maximum: 248 + minimum: 0 + type: integer + example: 0 + logAnnounceInterval: + type: integer + description: The mean time interval between Announce messages. A shorter interval makes ptp4l react faster to the changes in the master-slave hierarchy. The interval should be the same in the whole domain. It's specified as a power of two in seconds. The default is 1 (2 seconds). + example: 0 + logSyncInterval: + type: integer + description: The mean time interval between Sync messages. A shorter interval may improve accuracy of the local clock. It's specified as a power of two in seconds. The default is 0 (1 second). + example: 0 + logDelayReqInterval: + type: integer + example: 0 + transportMode: + type: string + enum: + - Multicast + - Unicast + - Hybrid + grantTime: + maximum: 7200 + minimum: 30 + type: integer + description: Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200. + example: 300 + AccessPointType: + type: string + description: Access point type + enum: + - VD + - VG + - SP + - IGW + - COLO + - SUBNET + - CLOUD_ROUTER + - NETWORK + - METAL_NETWORK + - VPIC_INTERFACE + SimplifiedPort: + type: object + properties: + type: + $ref: "#/components/schemas/PortType" + id: + type: integer + description: Equinix assigned response attribute for Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix assigned response attribute for port identifier + format: uuid + name: + type: string + description: Equinix assigned response attribute for Port name + description: + type: string + description: Equinix assigned response attribute for Port description + physicalPortsSpeed: + minimum: 0 + type: integer + description: Physical Ports Speed in Mbps + connectionsCount: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Connection count + project: + $ref: "#/components/schemas/Project" + state: + $ref: "#/components/schemas/PortState" + cvpId: + type: string + description: Equinix assigned response attribute for Unique ID for a virtual port. + operation: + $ref: "#/components/schemas/PortOperation" + account: + $ref: "#/components/schemas/SimplifiedAccount" + serviceType: + type: string + description: Port service Type + enum: + - EPL + - MSP + bandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port bandwidth in Mbps + availableBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port available bandwidth in Mbps + usedBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port used bandwidth in Mbps + location: + $ref: "#/components/schemas/SimplifiedLocation" + device: + $ref: "#/components/schemas/PortDevice" + interface: + $ref: "#/components/schemas/PortInterface" + tether: + $ref: "#/components/schemas/PortTether" + demarcationPoint: + $ref: "#/components/schemas/PortDemarcationPoint" + redundancy: + $ref: "#/components/schemas/PortRedundancy" + encapsulation: + $ref: "#/components/schemas/PortEncapsulation" + lagEnabled: + type: boolean + description: If LAG enabled + settings: + $ref: "#/components/schemas/PortSettings" + physicalPortQuantity: + type: integer + description: Number of physical ports + additionalInfo: + type: array + description: Port additional information + items: + $ref: "#/components/schemas/PortAdditionalInfo" + physicalPorts: + type: array + description: Physical ports that implement this port + items: + $ref: "#/components/schemas/PhysicalPort" + description: Port specification + SimplifiedLinkProtocol: + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vlanTag: + maximum: 4092 + minimum: 2 + type: integer + description: vlanTag value specified for DOT1Q connections + vlanSTag: + maximum: 4092 + minimum: 2 + type: integer + description: vlanSTag value specified for QINQ connections + vlanCTag: + maximum: 4092 + minimum: 2 + type: integer + description: vlanCTag value specified for QINQ connections + description: Connection link protocol Configuration + VirtualDevice: + type: object + properties: + href: + type: string + description: Virtual Device URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Device identifier + format: uuid + name: + type: string + description: Customer-assigned Virtual Device name + type: + type: string + description: Virtual Device type + enum: + - EDGE + account: + $ref: "#/components/schemas/SimplifiedAccount" + description: Virtual Device AccessPoint Information + Interface: + type: object + properties: + href: + type: string + description: Interface URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Interface identifier + format: uuid + id: + type: integer + description: Interface id + type: + type: string + description: Interface type + enum: + - CLOUD + - NETWORK + projectId: + type: string + description: Interface Project ID + description: Interface Information + SimplifiedNetwork: + required: + - uuid + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + uuid: + type: string + description: Equinix-assigned network identifier + format: uuid + example: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: + type: string + description: Customer-assigned network name + example: My EVPLAN Network + state: + $ref: "#/components/schemas/NetworkState" + account: + $ref: "#/components/schemas/SimplifiedAccount" + change: + $ref: "#/components/schemas/SimplifiedNetworkChange" + operation: + $ref: "#/components/schemas/NetworkOperation" + changeLog: + $ref: "#/components/schemas/Changelog" + links: + type: array + description: Network sub-resources links + readOnly: true + items: + $ref: "#/components/schemas/Link" + type: + $ref: "#/components/schemas/NetworkType" + scope: + $ref: "#/components/schemas/NetworkScope" + location: + $ref: "#/components/schemas/SimplifiedLocation" + description: Network specification + PeeringType: + type: string + description: Access point peering type + enum: + - PRIVATE + - MICROSOFT + - PUBLIC + - MANUAL + VirtualNetwork: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Network identifier + format: uuid + description: Virtual Network Information + MetalInterconnection: + type: object + properties: + uuid: + type: string + description: Equinix Metal Interconnection + format: uuid + description: Metal Interconnection + VpicInterface: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: MCN assigned VPIC Interface Identifier + format: uuid + description: MCN VPIC Interface Information + VirtualConnectionPriceConnectionType: + type: string + description: Virtual Connection type + enum: + - EVPL_VC + - EPL_VC + - EC_VC + - IP_VC + - VD_CHAIN_VC + - ACCESS_EPL_VC + - EVPLAN_VC + - EPLAN_VC + - IPWAN_VC + - IA_VC + VirtualConnectionPriceASide: + type: object + properties: + accessPoint: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint" + VirtualConnectionPriceZSide: + type: object + properties: + accessPoint: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint" + IpBlockType: + type: string + description: IP Block type + enum: + - IPv4 + - IPv6 + PriceLocation: + type: object + properties: + metroCode: + type: string + FabricCloudRouterPackages: + type: object + properties: + code: + $ref: "#/components/schemas/FabricCloudRouterCode" + description: Cloud Router package + VirtualPortType: + type: string + description: Port type. + enum: + - XF_PORT + VirtualPortLocation: + type: object + properties: + ibx: + type: string + description: Code assigned to the Equinix International Business Exchange (IBX) data center from which the port is ordered.
The port might be in a different location. + description: Geographic data for the port. + LinkAggregationGroup: + type: object + properties: + enabled: + type: boolean + description: Parameter showing whether LAG configuration is mandatory. The default is false. + default: false + description: Link aggregation group (LAG) preferences and settings. + VirtualPortRedundancy: + type: object + properties: + enabled: + type: boolean + description: Parameter showing whether redundancy is mandatory. The default is false. + default: false + description: Specifications for redundant connections, which improve service continuity by routing traffic to secondary ports when primary ports are unavailable.
Redundancy increases resilience and boosts site reliability scores. + ConnectivitySource: + type: object + properties: + type: + $ref: "#/components/schemas/ConnectivitySourceType" + description: Physical or virtual port that houses the connection. + VirtualPortServiceType: + type: string + description: Port service type. The default is managed-service provider (MSP). + default: MSP + enum: + - MSP + - EPL + VirtualPortConfiguration: + type: object + properties: + buyout: + type: boolean + description: Buyout (true) or standard (false) configuration of the port at this access point.
Buyout ports offer free, unlimited connections. Standard ports do not. The default is false. + default: false + description: Port configuration. + AccessPointSelector: + type: object + properties: + type: + type: string + description: Type of Access point + enum: + - COLO + port: + $ref: "#/components/schemas/SimplifiedMetadataEntity" + linkProtocol: + $ref: "#/components/schemas/LinkProtocol" + description: List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability. + md5: + type: object + properties: + type: + type: string + enum: + - ASCII + - HEX + id: + type: string + password: + type: string + LinkProtocolType: + type: string + description: Type of Link Protocol + enum: + - UNTAGGED + - DOT1Q + - QINQ + - EVPN_VXLAN + - VXLAN + VirtualConnectionPriceAccessPointType: + type: string + description: Virtual Connection access point type + enum: + - VD + - SP + - COLO + - CLOUD_ROUTER + - CHAINGROUP + - NETWORK + - METAL_NETWORK + VirtualConnectionBridgePackageCode: + type: string + description: Virtual Connection bridge package code + enum: + - REGIONAL + - GLOBAL + FabricCloudRouterCode: + type: string + description: Cloud Router code + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + ConnectivitySourceType: + type: string + description: Type of connectivity. COLO, colocation; BMMR, building meet-me room. The default is COLO.
A building meet-me room (BMMR) is a room within the same building where an Equinix IBX customer can connect with a non-Equinix IBX customer. + default: COLO + enum: + - COLO + - BMMR + - REMOTE + SimplifiedMetadataEntity: + type: object + properties: + href: + type: string + description: url to entity + format: uri + uuid: + type: string + description: Equinix assigned Identifier + format: uuid + type: + type: string + description: Type of Port + description: Configuration details for port used at the access point. + LinkProtocol: + required: + - type + type: object + description: Connection link protocol Configuration + discriminator: + propertyName: type + mapping: + UNTAGGED: "#/components/schemas/LinkProtocolUntagged" + DOT1Q: "#/components/schemas/LinkProtocolDot1q" + QINQ: "#/components/schemas/LinkProtocolQinq" + VXLAN: "#/components/schemas/LinkProtocolVxlan" + EVPN_VXLAN: "#/components/schemas/LinkProtocolEvpnVxlan" + oneOf: + - $ref: "#/components/schemas/LinkProtocolUntagged" + - $ref: "#/components/schemas/LinkProtocolDot1q" + - $ref: "#/components/schemas/LinkProtocolQinq" + - $ref: "#/components/schemas/LinkProtocolVxlan" + - $ref: "#/components/schemas/LinkProtocolEvpnVxlan" + LinkProtocolUntagged: + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + ipv4: + $ref: "#/components/schemas/LinkProtocolIpv4Ipv6Config" + ipv6: + $ref: "#/components/schemas/LinkProtocolIpv4Ipv6Config" + description: Connection link protocol configuration - UNTAGGED + LinkProtocolDot1q: + required: + - vlanTag + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + tagProtocolId: + type: string + description: Tag protocol identifier + vlanTag: + type: string + description: VLAN tag + vlanTagMin: + type: integer + description: VLAN tag Min value specified for DOT1Q connections + vlanTagMax: + type: integer + description: VLAN tag Max value specified for DOT1Q connections + description: Connection link protocol configuration - DOT1Q + LinkProtocolQinq: + required: + - innerTagProtocolId + - outerTagProtocolId + - vlanCTag + - vlanSTag + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + innerTagProtocolId: + type: integer + description: Inner tag protocol identifier + outerTagProtocolId: + type: integer + description: Outer tag protocol identifier + vlanCTag: + type: integer + description: Inner tag, i.e., C-VLAN tag + vlanSTag: + type: integer + description: Outer tag, i.e., S-VLAN tag + vlanCTagMin: + type: integer + description: Outer tag Min value specified for QINQ connections + vlanCTagMax: + type: integer + description: Outer tag Max value specified for QINQ connections + subInterface: + type: integer + description: Subinterface identifier + description: Connection link protocol configuration - QINQ + LinkProtocolVxlan: + required: + - vni + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vni: + maximum: 16777215 + minimum: 4097 + type: integer + description: Virtual Network Identifier + description: Connection link protocol configuration - VXLAN + LinkProtocolEvpnVxlan: + required: + - type5vni + - vnid + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vnid: + maximum: 40000 + minimum: 20001 + type: integer + description: Virtual Network Identifier + type5vni: + type: integer + description: Type 5 VNI identifier + description: Connection link protocol configuration - EVPN_VXLAN + LinkProtocolIpv4Ipv6Config: + type: object + properties: + linkPrefix: + type: string + description: Link subnet prefix + localIfaceIp: + type: string + description: Prefix datatype when linkPrefix not specified + remoteIfaceIp: + type: string + description: Equinix-side link interface address + description: IPv4 or IPv6 specific configuration + PriceError_additionalInfo: + type: object + properties: + property: + type: string + reason: + type: string + RouteFiltersData_project: + required: + - projectId + type: object + properties: + projectId: + type: string + description: Subscriber-assigned project ID + example: 44f4c4f8-2f39-494e-838c-d8e640591be5 + href: + type: string + description: Project URI + format: uri + example: https://api.equinix.com/resourceManager/v1/projects/567 + RouteFiltersSearchBase_filter: + type: object + properties: + and: + type: array + items: + $ref: "#/components/schemas/RouteFiltersSearchFilterItem" + ValidateRequest_filter_and: + properties: + property: + type: string + description: Path to property + operator: + type: string + description: Type of operation + values: + type: array + description: Values for the given property + items: + type: string + ValidateRequest_filter: + type: object + properties: + and: + type: array + items: + $ref: "#/components/schemas/ValidateRequest_filter_and" + description: Filters + 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 + 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: + uuid: + type: string + example: 81331c52-04c0-4656-a4a7-18c52669348f + name: + type: string + example: connection_1 + VirtualConnectionPriceASide_accessPoint_port_settings: + type: object + properties: + buyout: + type: boolean + default: false + VirtualConnectionPriceASide_accessPoint_port: + type: object + properties: + settings: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint_port_settings" + VirtualConnectionPriceASide_accessPoint: + type: object + properties: + uuid: + type: string + format: uuid + type: + $ref: "#/components/schemas/VirtualConnectionPriceAccessPointType" + location: + $ref: "#/components/schemas/PriceLocation" + port: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint_port" + VirtualConnectionPriceZSide_accessPoint_profile: + type: object + properties: + uuid: + type: string + format: uuid + VirtualConnectionPriceZSide_accessPoint_bridge_package: + type: object + properties: + code: + $ref: "#/components/schemas/VirtualConnectionBridgePackageCode" + VirtualConnectionPriceZSide_accessPoint_bridge: + type: object + properties: + package: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint_bridge_package" + VirtualConnectionPriceZSide_accessPoint: + type: object + properties: + uuid: + type: string + format: uuid + type: + $ref: "#/components/schemas/VirtualConnectionPriceAccessPointType" + location: + $ref: "#/components/schemas/PriceLocation" + port: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint_port" + profile: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint_profile" + bridge: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint_bridge" + examples: + "400": + value: + - errorCode: EQ-3142102 + errorMessage: Connection has duplicate buyer-side VLAN ID for port or the same VLAN ID is in the process of being deleted and should be freed up soon + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: /aSide/accessPoint/linkProtocol + - errorCode: EQ-3142535 + errorMessage: The connection bandwidth provided in the connection request exceeds the bandwidth Limit on ServiceToken + details: Please enter bandwidth less than the Speed limit on ServiceToken + correlationId: test + additionalInfo: + - property: /aSide/serviceToken/uuid + - errorCode: EQ-3142536 + errorMessage: Remote connection cannot be created with the provided ServiceToken + details: Only local Connection can be created using this ServiceToken + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/port/uuid + - errorCode: EQ-3142701 + errorMessage: The connection bandwidth provided in the connection request exceeds the bandwidth Limit on ServiceToken + details: not an authorized user + correlationId: test + - errorCode: EQ-3142501 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: aSide/accessPoint/port/uuid + - errorCode: EQ-3142509 + errorMessage: Connection already deleted + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: uuid + - errorCode: EQ-3142510 + errorMessage: Connection is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: uuid + - errorCode: EQ-3142221 + errorMessage: The primary and secondary token provided have different bandwidth tiers. Please use two tokens that support the same bandwidth tiers + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142222 + errorMessage: The primary and secondary tokens have different encapsulation types (Dot1Q or QinQ). Please use two tokens that support the same encapsulation type + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142223 + errorMessage: The primary and secondary tokens belong to different projects. Please use two tokens that belong to the same project + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142224 + errorMessage: The primary and secondary ports have different port speeds (bandwidth). Please use two tokens that support the same port speed + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142225 + errorMessage: The primary and secondary tokens provided are the same. Please provide a different token + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142514 + errorMessage: Redundancy group is required + correlationId: test + additionalInfo: + - property: /redundancy/group + - errorCode: EQ-3142515 + errorMessage: Redundancy priority is required + correlationId: test + additionalInfo: + - property: /redundancy/priority + - errorCode: EQ-3142516 + errorMessage: Invalid redundancy group + correlationId: test + additionalInfo: + - property: /redundancy/group + - errorCode: EQ-3142517 + errorMessage: Invalid redundancy priority + correlationId: test + additionalInfo: + - property: /redundancy/priority + - errorCode: EQ-3142303 + errorMessage: Only Primary connection allowed for this CSP + correlationId: test + additionalInfo: + - property: /redundancy/priority + - errorCode: EQ-3142320 + errorMessage: For redundant connection, Service Profile should be the same + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/profile/uuid + - errorCode: EQ-3142021 + errorMessage: For redundant connection, Fabric Cloud Router should be the same + correlationId: test + additionalInfo: + - property: /aSide/accessPoint/router/uuid + - errorCode: EQ-3142012 + errorMessage: Fabric Cloud Router is not in PROVISIONED state + correlationId: test + additionalInfo: + - property: /aSide/accessPoint/router/uuid + - errorCode: EQ-3142301 + errorMessage: Given profile does not exist + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/profile/uuid + - errorCode: EQ-3142302 + errorMessage: Service provider does not exist in required zSide metro + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/location/metroCode + - errorCode: EQ-3142013 + errorMessage: Invalid metro for Cloud Router connection + correlationId: test + additionalInfo: + - property: /aSide/accessPoint/router/uuid + - errorCode: EQ-3142304 + errorMessage: Private connections are not allowed on public profiles + correlationId: test + additionalInfo: + - property: visibility + - errorCode: EQ-3142306 + errorMessage: Requested bandwidth is not supported by service profile + correlationId: test + additionalInfo: + - property: /bandwidth + - errorCode: EQ-3142308 + errorMessage: Authentication key is required + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/authenticationKey + "401": + value: + - errorCode: EQ-3000039 + errorMessage: User not found in request or invalid. + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + "403": + value: + - errorCode: EQ-3142402 + errorMessage: Do not have create connection permission on this port + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + "404": + value: + - errorCode: EQ-3000036 + errorMessage: Requested path doesn't exists + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + "405": + value: + - errorCode: EQ-3142569 + errorMessage: Method not supported, Please check the URL passed + details: Method:PATCH + correlationId: f48687b0-d088-46d1-b06c-00c0688fbca9 + "415": + value: + - errorCode: EQ-3040016 + errorMessage: Unsupported media type, please check the request's Content-Type or Content-Encoding + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: contentType + reason: The payload format is in an unsupported format + "500": + value: + - errorCode: EQ-3034003 + errorMessage: Method not supported,Please check the URL passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - reason: method:PATCH + COLO2COLOwithDot1q-Dot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee063 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithDot1q-Dot1q-CRH: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a867f685-41b0-1b07-6de0-320a5c00abdd + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: b067f685-49b0-1a09-6fe0-360a5d00afdg + linkProtocol: + type: DOT1Q + vlanTag: 1001 + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithDot1Q-QinQ: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1002 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithQinq-Qinq: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + linkProtocol: + type: QINQ + vlanSTag: 1001 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithQinq-Dot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1125 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + linkProtocol: + type: DOT1Q + vlanTag: 1001 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLO-AsReseller: + value: + type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanSTag: 1002 + vlanCTag: 1001 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2COLO-EPL: + value: + type: EPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2COLO-AccessEpl: + value: + type: ACCESS_EPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2SPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + notifications: + - type: ALL + emails: + - test@test.com + COLO2AlibabaSPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: SV + sellerRegion: San Jose 2 + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2AWSSPwithDot1q-Primary: + value: + type: EVPL_VC + name: Primary-Aws + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + sellerRegion: us-east-1 + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2AzureSPwithDot1q-Primary: + value: + type: EVPL_VC + name: Primary-Azure + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + linkProtocol: + type: QINQ + vlanCTag: 1234 + peeringType: MICROSOFT + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2AzureSPwithQinq-Secondary: + value: + type: EVPL_VC + name: Secondary-Azure + bandwidth: 1000 + redundancy: + group: e04db764-f865-470b-8394-d2efdd651577 + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1002 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2GoogleSPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xx-xxx-xx-xxxxx/us-west1/1 + sellerRegion: us-west1 + project: + projectId: 16799d66ef43 + notifications: + - type: ALL + emails: + - fabric@test.com + COLO2IBM_1: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xxx-xxx-xxx + sellerRegion: San Jose 2 + notifications: + - type: ALL + emails: + - test@test.com + additionalInfo: + - key: ASN + value: 1234 + - key: Global + value: false + COLO2IBM_2: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xxx-xxx-xxx + sellerRegion: San Jose 2 + notifications: + - type: ALL + emails: + - test@test.com + additionalInfo: + - key: ASN + value: 1234 + - key: Global + value: false + - key: BGP_IBM_CIDR + value: 172.16.0.18/30 + - key: BGP_CER_CIDR + value: 172.16.0.19/30 + COLO2OracleSPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + sellerRegion: us-ashburn-1 + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2ServiceToken: + value: + type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: m167f685-41b0-1b07-6de0-320a5c00abeu + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + serviceToken: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2NETWORKwithDot1q: + value: + type: EVPLAN_VC + name: colo2network-evplan-vc + bandwidth: 50 + aSide: + accessPoint: + type: COLO + port: + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + linkProtocol: + type: DOT1Q + vlanTag: 300 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: ae708bbb-d669-406a-845a-99b39ff65fd0 + notifications: + - type: ALL + emails: + - fabric@equinix.com + COLO2NETWORKwithEPL: + value: + type: EPLAN_VC + name: colo2network-eplan-vc + bandwidth: 50 + aSide: + accessPoint: + type: COLO + port: + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: ae708bbb-d669-406a-845a-99b39ff65fd0 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2NETWORK: + value: + type: EVPLAN_VC + name: MY-EVPLAN-CONNECTION-1 + bandwidth: 100 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: ae708bbb-d669-406a-845a-99b39ff65fd0 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2AwsSP: + value: + type: EVPL_VC + name: vd2aws-connection-1 + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 69ee618d-be52-468d-bc99-00566f2dd2b9 + location: + metroCode: SV + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxx + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-1234567890 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2AzureSP: + value: + type: EVPL_VC + name: vd2azure-connection-1 + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + location: + metroCode: SV + authenticationKey: xxxx-xxx-xxxx + peeringType: MICROSOFT + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-1234567890 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2OracleSP: + value: + type: EVPL_VC + name: vd2oracle-connection-1 + bandwidth: 1000 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + location: + metroCode: DC + authenticationKey: ocid1.virtualcircuit.oc1 + sellerRegion: us-ashburn-1 + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2Ibm_1: + value: + type: EVPL_VC + name: vd2ibm10-connection-1 + bandwidth: 50 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 45b446fa-d3b6-417a-b871-a5ee0efdc459 + location: + metroCode: DC + authenticationKey: xxxx-xxx-xxx + sellerRegion: Washington 2 + additionalInfo: + - key: ASN + value: 12345 + - key: Global + value: false + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2Ibm_2: + value: + type: EVPL_VC + name: vd2ibm20-connection-1 + bandwidth: 50 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: e092ed47-63d2-4f4a-87a0-82e3b08eefe5 + location: + metroCode: SV + authenticationKey: xxxx-xxx-xxx + sellerRegion: San Jose 2 + additionalInfo: + - key: ASN + value: 12345 + - key: BGP_CER_CIDR + value: 172.16.0.17/30 + - key: BGP_IBM_CIDR + value: 172.16.0.18/30 + - key: Global + value: false + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2AlibabaSP: + value: + type: EVPL_VC + name: vd2alibaba-connection-1 + bandwidth: 50 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 4c4b8edf-873b-4c6c-805a-edb2c335bd6c + location: + metroCode: SV + authenticationKey: xxxx-xx-xxxx + sellerRegion: us-west-1 + notifications: + - type: ALL + emails: + - fabric@equinix.com + project: + projectId: 16799d66-ef43 + Vd2GoogleSP: + value: + type: EVPL_VC + name: vd2googleSp-connection-1 + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e99ec19c-0939-4c47-bfc1-ff94f99ccc75 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: bd4570e2-d792-4a00-87f5-3bde040cdcd7 + location: + metroCode: SV + sellerRegion: us-west2 + authenticationKey: xxxx-xxxx/us-west2/1 + project: + projectId: 16799d66-ef43-445c-ba29-d17522d8a137 + order: + purchaseOrderNumber: 1-1234567890 + notifications: + - type: ALL + emails: + - fabric@equinx.com + Vd2Sp-Primary: + value: + type: EVPL_VC + bandwidth: 50 + name: Network Device to SP + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + authenticationKey: xx-xx-xx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-323292 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Sp-Secondary: + value: + type: EVPL_VC + bandwidth: 50 + name: Network Device to SP + redundancy: + group: 777ca05d-4ae7-4ee9-9456-3ca49500428c + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + authenticationKey: xx-xx-xx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-323292 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Colo: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to COLO + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ColoVlanTag: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to COLO + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTagMin: 300 + vlanTagMax: 1099 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Colo-VlanCTag: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to COLO + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanCTag: 300 + vlanSTag: 301 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ColoUntagged: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to SP + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ServiceToken: + value: + type: EVPL_VC + name: Primary-Token + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + serviceToken: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Colo: + value: + type: IP_VC + name: My-FCR-Connection + bandwidth: 1000 + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: COLO + port: + uuid: 7b6481b8-1c4a-11ec-9621-0242ac130002 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Google: + value: + type: IP_VC + name: My-FCR-GCPConnection + bandwidth: 1000 + 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 + authenticationKey: xx-xx-xx + sellerRegion: us-west1 + location: + metroCode: SV + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Azure: + value: + type: IP_VC + name: My-FCR-AzureConnection + bandwidth: 1000 + 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 + authenticationKey: xx-xx-xx + location: + metroCode: SV + peeringType: PRIVATE + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Generic: + value: + type: IP_VC + name: My-FCR-GenericConnection + bandwidth: 1000 + 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 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Generic-Redundant-Secondary: + value: + type: IP_VC + name: FCR_to_RedSP_Secondary + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: SECONDARY + 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 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Generic-Redundant-Primary: + value: + type: IP_VC + name: FCR_to_RedSP_Primary-Re-add + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + 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 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Aws: + value: + type: IP_VC + name: My-FCR-AWSConnection + bandwidth: 100 + 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 + sellerRegion: us-west-1 + authenticationKey: xx-xx-xx + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Oracle: + value: + type: IP_VC + name: My-FCR-OracleConnection + bandwidth: 1000 + 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: DC + sellerRegion: us-ashburn-1 + authenticationKey: xx-xx-xx + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "567" + Fcr2Vd: + value: + type: IP_VC + name: My-GW-VDConnection + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Vd-Redundant-Secondary: + value: + type: IP_VC + name: My-GW-VDConnection-Secondary + bandwidth: 100 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: SECONDARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2IpWan: + value: + type: IPWAN_VC + name: MY-IPWAN-CONNECTION-1 + bandwidth: 1000 + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 123 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Metal-Network: + value: + type: IP_VC + name: My-FCR-MetalNetwork-Connection + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: SECONDARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + AsideServiceToken2PortWithDot1q: + value: + type: EVPL_VC + name: Aside-token + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + location: + metroCode: SV + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + notifications: + - type: ALL + emails: + - test@test.com + AsideServiceToken2PortWithQinq: + value: + type: EVPL_VC + name: Aside-Token + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + location: + metroCode: SV + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1001 + order: + purchaseOrderNumber: po1234 + notifications: + - type: ALL + emails: + - test@test.com + AsideServiceToken2PrivateSP-NE: + value: + type: EVPL_VC + name: Token2PrivateSP-NE + bandwidth: 50 + redundancy: + priority: PRIMARY + order: + purchaseOrderNumber: po1234 + aSide: + serviceToken: + uuid: 41a9e1ef-18bb-485b-a9b3-99801ac03684 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@test.com + AsideServiceToken2ZsideServiceToken: + value: + type: EVPL_VC + name: Aside to zside token connection + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + serviceToken: + uuid: 4f9c5438-90eb-4295-b109-7754119a1e8d + order: + purchaseOrderNumber: po1234 + notifications: + - type: ALL + emails: + - test@test.com + Metal2Sp-Aws: + value: + type: EVPL_VC + name: My-Metal-sp-connection + bandwidth: "1000" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + project: + projectId: 567 + Metal2Sp-Azure: + value: + type: EVPL_VC + name: Metal2Azure Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + location: + metroCode: SV + authenticationKey: xxxxxxxxx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - eqxfabricamcrh@gmail.com + project: + projectId: 16799d66-ef43-445c-ba29-d17522d8a137 + Metal2Sp-GCP: + value: + type: EVPL_VC + name: Metal2GCP-Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + uuid: 063f4b0f-2d5b-4db7-95da-d9eddfc92602 + location: + metroCode: SV + authenticationKey: xxxxxxxxx + sellerRegion: us-west1 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Sp-Oracle: + value: + type: EVPL_VC + name: Metal2Oracle-Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + location: + metroCode: SV + authenticationKey: xxxxxxxxx + sellerRegion: us-sanjose-1 + notifications: + - type: ALL + emails: + - test@gmail.com + project: + projectId: 16799d66-ef43-445c-ba29-d17522d8a137 + Metal2Sp-IBM: + value: + type: EVPL_VC + name: Metal2IBM-Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 317dcd1c-83ba-4d7c-994a-3e7ddb875026 + location: + metroCode: SV + authenticationKey: xxxxxxxxx + sellerRegion: San Jose 2 + additionalInfo: + - key: ASN + value: 12345 + - key: BGP_CER_CIDR + value: 172.16.0.17/30 + - key: BGP_IBM_CIDR + value: 172.16.0.18/30 + - key: Global + value: false + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Port-Dot1q: + value: + type: EVPL_VC + name: Metal2Port-dot1q + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: COLO + port: + uuid: 6c73d02c-87e1-4642-8e18-01eb4b87e243 + linkProtocol: + type: DOT1Q + vlanTag: 128 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Port-Qinq: + value: + type: EVPL_VC + name: Metal2Port-qinq + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: COLO + port: + uuid: 4ff4047c-7217-4b79-9943-c2c4a2f7324d + linkProtocol: + type: QINQ + vlanSTag: 134 + vlanCTag: 439 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2ServiceToken: + value: + type: EVPL_VC + name: Metal2ServiceToken + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + serviceToken: + uuid: bc1383be-579a-4d75-ae19-b0d487bbff90 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Sp-Generic: + value: + type: EVPL_VC + name: Metal2Generic + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + notifications: + - type: ALL + emails: + - test@test.com + MCNS2Sp-Aws: + value: + type: EVPL_VC + name: My-MCNS2Aws-connection + bandwidth: 50 + aSide: + accessPoint: + type: VPIC_INTERFACE + authenticationKey: xxxx-xxx-xxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + location: + metroCode: DC + authenticationKey: xxxx-xxx-xxxx + sellerRegion: us-east-1 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + project: + projectId: b543e64d-1e13-423a-9d81-4eae7b0e1959 + Vd2IAProfile-Request: + value: + type: IA_VC + bandwidth: 50 + name: Network Device to IA SP + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: CLOUD + id: 4 + zSide: + accessPoint: + type: SP + profile: + type: IA_PROFILE + uuid: 32d81829-0bf8-45d5-84e2-7289a553dbb6 + location: + metroCode: SV + order: + purchaseOrderNumber: 1-323292 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + ConnectionExample: + value: + href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection-3 + bandwidth: 1000 + direction: OUTGOING + isRemote: true + state: ACTIVE + redundancy: + group: e04db764-f865-470b-8394-d2efdd651577 + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroHref: https://api.equinix.com/fabric/v4/metros/MX + metroCode: MX + operation: + providerStatus: AVAILABLE + equinixStatus: PROVISIONED + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + COLO2GoogleSPwithDot1q-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/f662d4c4-fcd8-40ba-b95b-64fc7e0a61fb + uuid: f662d4c4-fcd8-40ba-b95b-64fc7e0a61fb + name: My-Layer2-Connection-3 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: po1234 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T14:25:30.509Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T14:25:30.509Z + bandwidth: 50 + redundancy: + group: 2673c07d-9bd3-43c2-9827-91e940d01a54 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: DA + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/33353aa1-18f2-4b32-94d6-59a12500f7e2 + uuid: 33353aa1-18f2-4b32-94d6-59a12500f7e2 + name: 1-DA1-port + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/bd4570e2-d792-4a00-87f5-3bde040cdcd7 + type: L2_PROFILE + name: Google Cloud Partner Interconnect Zone 1 + uuid: bd4570e2-d792-4a00-87f5-3bde040cdcd7 + sellerRegion: us-west2 + authenticationKey: xx-xxx-xx-xxxxx/us-west2/1 + COLO2AlibabaSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/2c7bb68e-f560-41ac-9950-e62c87be191e + uuid: 2c7bb68e-f560-41ac-9950-e62c87be191e + name: vd2alibaba-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-05-02T20:07:38.626Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-05-02T20:07:38.626Z + bandwidth: 50 + redundancy: + group: 6aafb605-f3e4-4380-a9c0-1eddf829bca0 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/b54d71a6-aecb-40cc-b458-8a4103f5cdba + uuid: b54d71a6-aecb-40cc-b458-8a4103f5cdba + name: 641728-SV5-1 + linkProtocol: + type: DOT1Q + vlanTag: 1018 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/4c4b8edf-873b-4c6c-805a-edb2c335bd6c + type: L2_PROFILE + name: Alibaba Cloud Express Connect + uuid: 4c4b8edf-873b-4c6c-805a-edb2c335bd6c + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxxx + COLO2OracleSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/6c157170-f84d-424a-9396-b5d6ee723296 + uuid: 6c157170-f84d-424a-9396-b5d6ee723296 + name: vd2oracle-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 1G + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-05-02T20:25:09.841Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-05-02T20:25:09.841Z + bandwidth: 1000 + redundancy: + group: e8400059-34e1-47f1-9914-cb5907ee7913 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/b54d71a6-aecb-40cc-b458-8a4103f5cdba + uuid: b54d71a6-aecb-40cc-b458-8a4103f5cdba + name: 641728-SV5-1 + linkProtocol: + type: DOT1Q + vlanTag: 1021 + zSide: + accessPoint: + location: + metroCode: DC + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8 + type: L2_PROFILE + name: Oracle Cloud Infrastructure FastConnect + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + sellerRegion: us-ashburn-1 + authenticationKey: ocid1.virtualcircuit.oc1.iad-xxx-xxxx + Vd2Sp-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to SP + bandwidth: 50 + state: ACTIVE + account: + accountNumber: 201246 + orgId: 92610 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: NETWORK + id: 2 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/95542b34-cf1c-41aa-89f7-590946f9df53 + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + type: L2_PROFILE + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2022-10-05T19:37:12.748Z + Vd2ServiceToken_Response: + value: + href: http://api.corp.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + type: EVPL_VC + uuid: ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + name: Test ST + state: ACTIVE + account: + accountNumber: 270235 + orgId: 92794 + globalOrgId: 0016u000003JZ55AAG + bandwidth: 50 + redundancy: + group: b64dad2a-2763-4084-bc50-b36ef4f67137 + priority: PRIMARY + isRemote: true + direction: INTERNAL + aSide: + accessPoint: + interface: + uuid: 11fd6067-149f-4142-a5b4-54a8dd6f53fe + id: 6 + type: CLOUD + type: VD + account: + accountNumber: 270217 + organizationName: test + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + region: AMER + metroName: Ashburn + metroCode: DC + virtualDevice: + href: https://api.equinix.com/ne/v1/devices/3539f96c-7f67-4696-90f3-7b6d2fdcde5f + uuid: 3539f96c-7f67-4696-90f3-7b6d2fdcde5f + name: testing1234 + type: EDGE + zSide: + serviceToken: + uuid: e05f4f23-d098-4d7c-a9ca-c2897b465107 + account: + orgId: 22222 + accessPoint: + type: COLO + account: + accountNumber: 22222 + organizationName: xxxxx + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + region: AMER + metroName: Ashburn + metroCode: DC + port: + href: http://api.corp.equinix.com/fabric/v4/ports/c791f8cb-59d0-9d00-8ce0-306a5c00a4ee + uuid: c791f8cb-59d0-9d00-8ce0-306a5c00a4ee + name: testNEuser2-DC6-NL-Dot1q-STD-SEC-10G-JN-216 + linkProtocol: + type: DOT1Q + vlanTag: 553 + changeLog: + createdBy: test + createdDateTime: 2022-10-05T19:37:12.748Z + updatedBy: test + updatedDateTime: 2022-10-05T19:37:12.748Z + operation: + providerStatus: AVAILABLE + equinixStatus: PROVISIONED + notifications: + - type: ALL + emails: + - test@equinix.com + Vd2Colo-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to COLO + bandwidth: 50 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + accountNumber: 201246 + orgId: 92610 + changeLog: + createdDateTime: 2021-10-27 16:25:37.229Z + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: NETWORK + id: 4 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + Vd2Colo-VlanTagResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to COLO + bandwidth: 50 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + account: + accountNumber: 201246 + orgId: 92610 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2021-10-27 16:25:37.229 + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f88 + type: NETWORK + id: 2 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + Vd2ColoUntagged-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to SP + bandwidth: 50 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + account: + accountNumber: 201246 + orgId: 92610 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2021-10-27 16:25:37.229Z + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: NETWORK + id: 4 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + Fcr2Sp-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1 + type: IP_VC + uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1 + name: GP_FG2GCP_001 + bandwidth: 50 + redundancy: + group: 4f786b3f-27d4-48e0-8571-423d085826c1 + priority: PRIMARY + order: + billingTier: Up to 50 MB + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + href: https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0 + uuid: 56d267f3-a566-47a8-8cf9-40e6cc925bf0 + name: My-FG-1 + zSide: + accessPoint: + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/c7922adf-34b5-4d4e-a87c-cae8c899ef90 + uuid: c7922adf-34b5-4d4e-a87c-cae8c899ef90 + name: Google Cloud Partner Interconnect Zone 2 + type: L2_PROFILE + authenticationKey: xx-xxx-xx-xxxxx/xxx/x + sellerRegion: us-west1 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + operation: + equinixStatus: PROVISIONING + providerStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + changeLog: + createdBy: test + createdByFullName: test + createdByEmail: test@equinix.com + createdDateTime: 2022-05-12T17:53:45.401Z + Fcr2Colo-ResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1 + type: IP_VC + uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1 + name: GP_FG2COLO_001 + bandwidth: 50 + redundancy: + group: 4f786b3f-27d4-48e0-8571-423d085826c1 + priority: PRIMARY + order: + billingTier: Up to 50 MB + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + href: https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0 + uuid: 56d267f3-a566-47a8-8cf9-40e6cc925bf0 + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + operation: + equinixStatus: PROVISIONING + providerStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + changeLog: + createdBy: test + createdByFullName: test + createdByEmail: test@equinix.com + createdDateTime: 2022-05-12T17:53:45.401Z + Fcr2IpWan-response: + value: + href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1 + type: IPWAN_VC + uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1 + name: MY-IPWAN-CONNECTION-1 + bandwidth: 50 + redundancy: + group: 4f786b3f-27d4-48e0-8571-423d085826c1 + priority: PRIMARY + order: + billingTier: Up to 50 MB + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + href: https://api.equinix.com/fabric/v4/routers/66a21614-1c4a-11ec-9621-0242ac130002 + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + name: My-FG + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + name: My-IPWAN + platformUuid: be2c3921-602a-444e-86ef-92cf749c7647 + state: ACTIVE + type: IPWAN + scope: REGIONAL + location: + region: AMER + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + changeLog: + createdBy: test + createdByFullName: test + createdByEmail: test@equinix.com + createdDateTime: 2022-05-12T17:53:45.401Z + AsideServiceToken2PortResponseWithDot1q: + value: + href: http://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: EVPL_VC + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: a-token qinq-dot1q + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + account: + accountNumber: 201246 + orgId: 92610 + globalOrgId: 0017i000011X250AAC + changeLog: + createdBy: testuser + createdDateTime: 2022-05-16T07:50:49.749Z + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: PRIMARY + isRemote: true + direction: OUTGOING + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + accessPoint: + location: + metroHref: http://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + port: + href: http://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-2 + linkProtocol: + type: DOT1Q + vlanTag: 1231 + account: + accountNumber: 201246 + organizationName: testOrganization + zSide: + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/LD + region: EMEA + metroName: London + metroCode: LD + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-1 + linkProtocol: + type: DOT1Q + vlanTag: 1321 + account: + accountNumber: 201246 + organizationName: xxxxx + order: + purchaseOrderNumber: "1122334" + billingTier: Up to 50 MB + AsideServiceToken2PortResponseWithQinq: + value: + href: https://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: EVPL_VC + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: a-token qinq-dot1q + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + account: + accountNumber: 201246 + orgId: 92610 + globalOrgId: 0017i000011X250AAC + changeLog: + createdBy: testuser + createdDateTime: 2022-05-16T07:50:49.749Z + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: PRIMARY + isRemote: true + direction: OUTGOING + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + accessPoint: + location: + metroHref: http://api.equinix.com/fabric/v4/metros/SV + region: AMER + metroName: Silicon Valley + metroCode: SV + port: + href: http://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-2 + linkProtocol: + type: QINQ + vlanSTag: 1231 + vlanCTag: 2233 + account: + accountNumber: 201246 + organizationName: xxxxx + zSide: + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/LD + region: EMEA + metroName: London + metroCode: LD + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-1 + linkProtocol: + type: DOT1Q + vlanTag: 1321 + account: + accountNumber: 201246 + organizationName: xxxxx + order: + purchaseOrderNumber: "1122334" + billingTier: Up to 50 MB + Metal2Sp-Aws-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + href: https://api.equinix.com/metal/v1/virtual-networks/a867f685-41b0-1b07-6de0-320a5c00abd + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + href: https://api.equinix.com/accountService/v1/accounts/123213 + accountNumber: 123213 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + Metal2Sp-Azure-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/d3b69c6b-3b23-4ac0-a1bb-8db16460714d + uuid: d3b69c6b-3b23-4ac0-a1bb-8db16460714d + name: Metal2Azure Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - eqxfabricamcrh@gmail.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@gmail.com + createdDateTime: 2024-03-21T20:14:04.072Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@gmail.com + updatedDateTime: 2024-03-21T20:14:04.072Z + bandwidth: 50 + redundancy: + group: 3cbd354d-d147-4552-bfd0-78c559b4cc91 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: c652cef9-4e52-4165-b997-d0f52b5a18dd + interconnection: + uuid: a00f1a2a-e50e-4019-ba86-0768dac8396c + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/a1390b22-bbe0-4e93-ad37-85beef9d254d + type: L2_PROFILE + name: Azure ExpressRoute + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + authenticationKey: xxxxxxxxx + Metal2Sp-GCP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/d3b69c6b-3b23-4ac0-a1bb-8db16460714d + uuid: d3b69c6b-3b23-4ac0-a1bb-8db16460714d + name: Metal2GCP Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - eqxfabricamcrh@gmail.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@gmail.com + createdDateTime: 2024-03-21T20:14:04.072Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@gmail.com + updatedDateTime: 2024-03-21T20:14:04.072Z + bandwidth: 50 + redundancy: + group: 3cbd354d-d147-4552-bfd0-78c559b4cc91 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: c652cef9-4e52-4165-b997-d0f52b5a18dd + interconnection: + uuid: a00f1a2a-e50e-4019-ba86-0768dac8396c + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/063f4b0f-2d5b-4db7-95da-d9eddfc92602 + type: L2_PROFILE + name: GCP Service Profile + uuid: 063f4b0f-2d5b-4db7-95da-d9eddfc92602 + authenticationKey: xxxxxxxxx + Metal2Sp-Oracle-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/7a21d5d8-f153-45f8-ad76-f92babf3f103 + uuid: 7a21d5d8-f153-45f8-ad76-f92babf3f103 + name: Metal2Oracle-Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50Mb + notifications: + - type: ALL + emails: + - test@gmail.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@gmail.com + createdDateTime: 2024-03-19T23:09:15.547Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@gmail.com + updatedDateTime: 2024-03-19T23:09:15.547Z + bandwidth: 50 + redundancy: + group: 9674d5cf-03a4-4129-933f-60d21e0f3ddb + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: d357394a-3453-415b-8bf3-4ea95b3b13fd + interconnection: + uuid: 7fcf077d-3383-4e22-9173-7b415fdfd1bd + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8 + type: L2_PROFILE + name: Oracle Cloud Infrastructure FastConnect + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + sellerRegion: us-sanjose-1 + authenticationKey: xxxxxxxxx + Metal2Sp-IBM-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/f0e56501-d92f-4ca3-b047-f95628d4a32a + uuid: f0e56501-d92f-4ca3-b047-f95628d4a32a + name: Metal2IBM-Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - dragons-qa3@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-06T17:20:41.574Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-06T17:20:41.574Z + bandwidth: 50 + redundancy: + group: edf883ed-3ea0-4adf-b58c-4ea163c612d5 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: http://qa3api.corp.equinix.com/fabric/v4/serviceProfiles/317dcd1c-83ba-4d7c-994a-3e7ddb875026 + type: L2_PROFILE + name: IBM Cloud Direct Link 2 + uuid: 317dcd1c-83ba-4d7c-994a-3e7ddb875026 + sellerRegion: San Jose 2 + authenticationKey: xxxxxxxxx + Metal2Port-Dot1q-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/02b7b7d4-1726-4451-9598-e28091c096cd + uuid: 02b7b7d4-1726-4451-9598-e28091c096cd + name: Metal2Port-dot1q + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-20T00:39:07.648Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-20T00:39:07.648Z + bandwidth: 50 + redundancy: + group: b76b3167-ae8e-42c4-9571-b659f9779897 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: http://qa3api.corp.equinix.com/fabric/v4/ports/6c73d02c-87e1-4642-8e18-01eb4b87e243 + uuid: 6c73d02c-87e1-4642-8e18-01eb4b87e243 + name: 290061-SV1-CX-SEC-01 + linkProtocol: + type: DOT1Q + vlanTag: 1387 + Metal2Port-Qinq-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/d87489aa-c32d-4756-a81a-6f557afb871d + uuid: d87489aa-c32d-4756-a81a-6f557afb871d + name: Metal2Port-qinq + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-21T23:44:22.347Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-21T23:44:22.347Z + bandwidth: 50 + redundancy: + group: d3cf59c0-33d7-4b9d-94c6-e60b27c363d3 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: http://qa3api.corp.equinix.com/fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d + uuid: 4ff4047c-7217-4b79-9943-c2c4a2f7324d + name: 290061-SV1-CX-PRI-02 + linkProtocol: + type: QINQ + vlanSTag: 134 + vlanCTag: 439 + Metal2ServiceToken-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/f712745e-ccf9-4a0d-9e4d-83c1bb5b9028 + uuid: f712745e-ccf9-4a0d-9e4d-83c1bb5b9028 + name: Metal2ServiceToken + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-20T20:12:08.595Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-20T20:12:08.595Z + bandwidth: 50 + redundancy: + group: fc504dcf-8697-4860-80cd-6a7afaa52586 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + serviceToken: + href: http://qa3api.corp.equinix.com/fabric/v4/serviceTokens/bc1383be-579a-4d75-ae19-b0d487bbff90 + uuid: bc1383be-579a-4d75-ae19-b0d487bbff90 + project: + projectId: "377533000114703" + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: http://qa3api.corp.equinix.com/fabric/v4/ports/6c73d02c-87e1-4642-8e18-01eb4b87e243 + uuid: 6c73d02c-87e1-4642-8e18-01eb4b87e243 + name: 290061-SV1-CX-SEC-01 + linkProtocol: + type: DOT1Q + vlanTag: 4087 + Metal2Sp-Generic-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/1a9ffa8f-d4d4-44ab-9733-362c9a36ec94 + uuid: 1a9ffa8f-d4d4-44ab-9733-362c9a36ec94 + name: Metal2Generic + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PENDING_APPROVAL + order: + billingTier: Up to 1G + notifications: + - type: ALL + emails: + - test@test.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-22T00:42:35.386Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-22T00:42:35.386Z + bandwidth: 1000 + redundancy: + group: dd22cd15-4d09-45b3-9523-37daf075a27d + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: http://qa3api.corp.equinix.com/fabric/v4/serviceProfiles/f1a247aa-8f86-4a89-88c2-72497686cd0d + type: L2_PROFILE + name: Generic Service Profile + uuid: f1a247aa-8f86-4a89-88c2-72497686cd0d + COLO2NETWORKwithDot1q-Response: + value: + type: EVPLAN_VC + href: https://api.equinix.com/fabric/v4/connections/f3dd7395-7196-45f4-9b6f-54094aa75f53 + uuid: f3dd7395-7196-45f4-9b6f-54094aa75f53 + name: colo2network-evplan-vc + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-23T02:51:07.675Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-23T02:51:07.675Z + bandwidth: 50 + redundancy: + group: ecebee55-975b-4017-857c-74617f821b87 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: DA + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/9127bb72-5f4f-4517-be74-3af7ce612687 + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + name: 1-DA1-port + linkProtocol: + type: DOT1Q + vlanTag: 307 + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + name: EVPLAN-GLOBAL + platformUuid: afe28606-8021-4161-802c-b80d4bc22f20 + state: ACTIVE + type: EVPLAN + scope: GLOBAL + location: null + COLO2NETWORKwithEPL-Response: + value: + type: EPLAN_VC + href: https://api.equinix.com/fabric/v4/connections/cce170c5-a496-4928-8426-507e00818887 + uuid: cce170c5-a496-4928-8426-507e00818887 + name: colo2network-eplan-vc + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@test.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-23T03:07:17.587Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-23T03:07:17.587Z + bandwidth: 50 + redundancy: + group: dbab0e00-db97-4abf-aebe-76c7a40a371e + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: SP + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/9127bb72-5f4f-4517-be74-3af7ce612687 + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + name: 505783-port + linkProtocol: + type: UNTAGGED + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + name: EPLAN-GLOBAL + platformUuid: 8abb8305-258b-4690-9b49-714962591add + state: ACTIVE + type: EPLAN + scope: GLOBAL + location: null + Vd2IAProfile-Response: + value: + type: IA_VC + href: https://uatapi.npclouda.equinix.com/fabric/v4/connections/ce42ca81-538d-4f38-b020-d45fb48d20c7 + uuid: ce42ca81-538d-4f38-b020-d45fb48d20c7 + name: vd2eia-connection-1 + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-30T20:19:44.279Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-30T20:19:44.279Z + bandwidth: 50 + redundancy: + group: 90720112-3f61-4b74-b854-b948dabd05ca + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 5c226d15-4815-4a85-a83a-6dea1ab220d5 + id: 16 + type: CLOUD + location: + metroCode: SY + virtualDevice: + uuid: d127592c-9094-43c0-9367-27596a231867 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SY + profile: + href: https://uatapi.npclouda.equinix.com/fabric/v4/serviceProfiles/32d81829-0bf8-45d5-84e2-7289a553dbb6 + type: IA_PROFILE + name: Equinix Internet Access + 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 + uuid: e1f165fd-29bb-4c15-8ec7-56242677e6fc + name: vd2network-connection + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-23T02:12:20.334Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-23T02:12:20.334Z + bandwidth: 50 + redundancy: + group: daaaa2be-01ff-4009-9a97-da77562041db + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: a4c60de7-09b2-4237-b831-4849d7dd3d92 + id: 5 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e99ec19c-0939-4c47-bfc1-ff94f99ccc75 + type: EDGE + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/05eeb1d2-5b82-4c9b-9eb9-496085ce8bb2 + uuid: 05eeb1d2-5b82-4c9b-9eb9-496085ce8bb2 + name: EVPLAN-GLOBAL-1 + platformUuid: afe28606-8021-4161-802c-b80d4bc22f20 + state: ACTIVE + type: EVPLAN + scope: GLOBAL + location: null + Vd2AwsSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/f0a954e7-bdc5-4727-90cc-869f990e289f + uuid: f0a954e7-bdc5-4727-90cc-869f990e289f + name: vd2aws-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-27T00:32:21.879Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-27T00:32:21.879Z + bandwidth: 50 + redundancy: + group: 1dfd9c4b-58c6-4d96-aebf-eb32a09f031a + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 1b046630-8572-4975-abd0-82c31adf6ec1 + id: 4 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/69ee618d-be52-468d-bc99-00566f2dd2b9 + type: L2_PROFILE + name: AWS Direct Connect + uuid: 69ee618d-be52-468d-bc99-00566f2dd2b9 + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxx + Vd2AzureSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/3da14bba-d81c-4497-93c3-3f4a3cb0bc40 + uuid: 3da14bba-d81c-4497-93c3-3f4a3cb0bc40 + name: vd2azure-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 200 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T20:30:24.632Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T20:30:24.632Z + bandwidth: 100 + redundancy: + group: 6b869af5-3f89-4329-bb41-ec6f6b053cc4 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 237869e8-4dbd-418f-acac-59ec1ec3bc31 + id: 9 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/a1390b22-bbe0-4e93-ad37-85beef9d254d + type: L2_PROFILE + name: Azure ExpressRoute + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + authenticationKey: xxxx-xxx-xxxx + Vd2OracleSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d + uuid: 53c89f1a-0be7-44a1-9c03-28059632a72d + name: vd2oracle-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 1G + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T20:40:40.676Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T20:40:40.677Z + bandwidth: 1000 + redundancy: + group: 43009a55-87ee-4dff-8ae4-70ccb7c3d4e9 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: ca838fd7-74cc-4786-94f4-69405671d0e4 + id: 5 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: DC + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8 + type: L2_PROFILE + name: Oracle Cloud Infrastructure FastConnect + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + sellerRegion: us-ashburn-1 + authenticationKey: ocid1.virtualcircuit.oc1 + Vd2AlibabaSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/66ed4e8a-584c-4027-9788-748fecb5ce35 + uuid: 66ed4e8a-584c-4027-9788-748fecb5ce35 + name: vd2alibaba-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T20:43:43.199Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T20:43:43.199Z + bandwidth: 50 + redundancy: + group: 160e06b5-cd42-4c2c-b674-6dcda54da4d8 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 9a76f1c3-948a-4004-8185-d6b49969aefc + id: 6 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/4c4b8edf-873b-4c6c-805a-edb2c335bd6c + type: L2_PROFILE + name: Alibaba Cloud Express Connect + uuid: 4c4b8edf-873b-4c6c-805a-edb2c335bd6c + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxxx + Vd2GoogleSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/50ae793c-b466-4d71-9724-c32b5e402bbe + uuid: 50ae793c-b466-4d71-9724-c32b5e402bbe + name: vd2googleSp-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinx.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinx.com + createdDateTime: 2024-04-25T14:06:48.933Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinx.com + updatedDateTime: 2024-04-25T14:06:48.933Z + bandwidth: 50 + redundancy: + group: bd03b85b-18c9-4a80-b589-727d232077d2 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 3520bc9a-d7e6-440b-9196-656beb54b300 + id: 7 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e99ec19c-0939-4c47-bfc1-ff94f99ccc75 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/bd4570e2-d792-4a00-87f5-3bde040cdcd7 + type: L2_PROFILE + name: Google Cloud Partner Interconnect Zone 1 + uuid: bd4570e2-d792-4a00-87f5-3bde040cdcd7 + sellerRegion: us-west2 + authenticationKey: xxxx-xxxx/us-west2/1 + createBulkGeneric: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + createBulkNonGeneric: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Sp-Redundant: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 3 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 5 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Colo-Redundant: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 3 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 5 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ColoUntagged-Redundant: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 3 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 5 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ServiceToken-Redundant: + value: + data: + - type: EVPL_VC + name: VD2ST-Conn-1 + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a867f685-41b0-1b07-6de0-320a5c00abdd + zSide: + serviceToken: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + notifications: + - type: ALL + emails: + - test@equinix.com + - type: EVPL_VC + name: VD2ST-Conn-2 + bandwidth: 100 + redundancy: + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: b967f685-41b0-1b07-6de0-320a5c00abde + zSide: + serviceToken: + uuid: 10d32a80-0d61-4333-bc03-707b591ae2e6 + notifications: + - type: ALL + emails: + - test@equinix.com + genericBulkCreateResponse: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + nonGenericCreateResponse: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + Vd2Sp-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 3 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 4 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + Vd2Colo-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 3 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 4 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + Vd2ColoUntagged-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 3 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 4 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdBy: testBuyer + createdDateTime: 2020-05-21T10:30:00Z + Vd2ServiceToken-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + type: EVPL_VC + uuid: ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + name: VD2ST-Conn-1 + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + bandwidth: 50 + redundancy: + group: 1ba79cfc-e123-4fda-a3ff-f6b460d90299 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 17060c65-5556-417d-9919-3d9ac59c01b9 + id: 5 + type: CLOUD + location: + metroCode: DC + linkProtocol: + type: DOT1Q + vlanTag: 18293 + virtualDevice: + uuid: a867f685-41b0-1b07-6de0-320a5c00abdd + type: EDGE + zSide: + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/20d32a80-0d61-4333-bc03-707b591ae2f5 + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + metroCode: DC + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + name: testBuyer-DC5-L-Dot1q-STD-PRI-10G-JN-161 + linkProtocol: + type: DOT1Q + vlanTag: 992 + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: test + createdByFullName: test test + createdByEmail: test@equinix.com + createdDateTime: 2023-03-01T22:57:15.874Z + updatedBy: test + updatedByFullName: test test + updatedByEmail: test@equinix.com + updatedDateTime: 2023-03-01T22:57:15.874Z + - href: https://api.equinix.com/fabric/v4/connections/d27746b9-6c1e-95cb-b0ee-6c2fdb4990ba + type: EVPL_VC + uuid: d27746b9-6c1e-95cb-b0ee-6c2fdb4990ba + name: VD2ST-Conn-2 + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + bandwidth: 50 + redundancy: + group: 1ba79cfc-e123-4fda-a3ff-f6b460d90299 + priority: SECONDARY + aSide: + accessPoint: + interface: + uuid: 1e4cec46-ff5f-4f2a-8f3b-29225600040f + id: 4 + type: CLOUD + location: + metroCode: DC + linkProtocol: + type: DOT1Q + vlanTag: 18303 + virtualDevice: + uuid: b967f685-41b0-1b07-6de0-320a5c00abde + type: EDGE + zSide: + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/10d32a80-0d61-4333-bc03-707b591ae2e6 + uuid: 10d32a80-0d61-4333-bc03-707b591ae2e6 + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + metroCode: DC + port: + href: https://api.equinix.com/fabric/v4/ports/d791f8cb-59c8-9c80-8ce0-306a5c00e3ae + type: XF_PORT + uuid: d791f8cb-59c8-9c80-8ce0-306a5c00e3ae + name: testBuyer-DC6-NL-Dot1q-STD-SEC-10G-JN-208 + linkProtocol: + type: DOT1Q + vlanTag: 993 + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: test + createdByFullName: test test + createdByEmail: test@equinix.com + createdDateTime: 2023-03-01T22:57:15.918Z + updatedBy: test + updatedByFullName: test test + updatedByEmail: test@equinix.com + updatedDateTime: 2023-03-01T22:57:15.918Z + ConnectionBulkMigrationRequest: + value: + - op: replace + path: /aSide/accessPoint/port/uuid + value: c791f8cb-594a-94a0-8ce0-306a5c00a4ee + ConnectionBulkMigrationResponse: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/347832b4-61f5-4f9e-b5f3-e57dcbb8e95b + uuid: 347832b4-61f5-4f9e-b5f3-e57dcbb8e95b + type: EVPL_VC + name: aSide_vcBulk_p2p_04 + bandwidth: 5 + redundancy: + group: 3491b0b6-811b-4e33-a4f3-494f1b91f27d + priority: PRIMARY + order: + purchaseOrderNumber: PO1234567 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - testBuyer@equinix.com + aSide: + accessPoint: + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-594a-94a0-8ce0-306a5c00a4ee + uuid: c791f8cb-594a-94a0-8ce0-306a5c00a4ee + name: testBuyer-SV5-L-Dot1q-STD-PRI-10G-NK-82 + type: XF_PORT + linkProtocol: + type: DOT1Q + vlanTag: 2 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-599c-99c0-8ce0-306a5c00a4ee + uuid: c791f8cb-599c-99c0-8ce0-306a5c00a4ee + name: testBuyer-DC5-NL-Dot1q-STD-PRI-10G-JN-164 + type: XF_PORT + linkProtocol: + type: DOT1Q + vlanTag: 1117 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + metroCode: DC + operation: + equinixStatus: PROVISIONED + providerStatus: AVAILABLE + changeLog: + createdBy: testBuyer + createdDateTime: 2021-12-02 07:17:41.663 + createdByFullName: testBuyer testBuyer + createdByEmail: testBuyer@equinix.com + updatedBy: testBuyer + updatedDateTime: 2021-12-02 07:17:41.663 + updatedByFullName: testBuyer testBuyer + updatedByEmail: testBuyer@equinix.com + change: + uuid: 2f395804-c197-4796-b7b3-359d5fa5d853 + type: CONNECTION_UPDATE + status: APPROVED + createdDateTime: 2021-12-06 22:11:18.616 + data: + op: replace + path: /aSide/accessPoint/port/uuid + value: c791f8cb-58fb-8fb0-8ce0-306a5c00a4ee + NonGenericConnectionResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/462ad0bb-7fe2-41b1-8d1a-c62494e0c7e3 + type: EVPL_VC + uuid: 462ad0bb-7fe2-41b1-8d1a-c62494e0c7e3 + name: E2E-CON-280122031843987 + state: DEPROVISIONED + operation: + providerStatus: FAILED + equinixStatus: DEPROVISIONED + order: + purchaseOrderNumber: PO608540135268 + notifications: + - type: ALL + emails: + - fake@mail.com + account: + accountNumber: 270001 + orgId: 91997 + globalOrgId: 0016u000003JZ4sAAG + changeLog: + createdBy: testBuyer + createdDateTime: 2022-01-28T03:18:48.908Z + bandwidth: 50 + redundancy: + group: 50ba51bb-085d-4084-ac38-c31860ca5f4d + priority: PRIMARY + isRemote: false + direction: OUTGOING + aSide: + accessPoint: + type: COLO + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-594b-94b0-8ce0-306a5c00a4ee + uuid: c791f8cb-594b-94b0-8ce0-306a5c00a4ee + name: testBuyer-SV5-NL-Dot1q-BO-PRI-10G-NK-83 + linkProtocol: + type: DOT1Q + vlanTag: 2628 + zSide: + accessPoint: + type: SP + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/063f4b0f-2d5b-4db7-95da-d9eddfc92602 + type: L2_PROFILE + name: Google Cloud Partner Interconnect Zone 1 + uuid: 063f4b0f-2d5b-4db7-95da-d9eddfc92602 + linkProtocol: + type: DOT1Q + sellerRegion: us-west1 + authenticationKey: xx-xxx-xx-xxxxx/xxx/x + GenericConnectionResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/650fa2db-37fc-4eca-a9ac-1bb33481b03f + type: EVPL_VC + uuid: 650fa2db-37fc-4eca-a9ac-1bb33481b03f + name: E2E-CON-280122023234849 + state: PROVISIONED + operation: + providerStatus: AVAILABLE + equinixStatus: PROVISIONED + order: + purchaseOrderNumber: PO754587184643 + notifications: + - type: ALL + emails: + - fake@mail.com + account: + accountNumber: 270001 + orgId: 91997 + globalOrgId: 0016u000003JZ4sAAG + changeLog: + createdBy: testBuyer + createdDateTime: 2022-01-28T02:32:36.402Z + bandwidth: 50 + redundancy: + group: 4647f20d-6339-4e83-b31e-b35da3060d63 + priority: PRIMARY + isRemote: false + direction: OUTGOING + aSide: + accessPoint: + type: COLO + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DA + metroCode: DA + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-5a41-a410-8ce0-306a5c00a4ee + uuid: c791f8cb-5a41-a410-8ce0-306a5c00a4ee + name: testBuyer-DA1-L-Dot1q-STD-PRI-10G-NK-329 + linkProtocol: + type: DOT1Q + vlanTag: 1043 + zSide: + accessPoint: + type: SP + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DA + metroCode: DA + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-5a49-a490-8ce0-306a5c00a4ee + uuid: c791f8cb-5a49-a490-8ce0-306a5c00a4ee + name: testSeller-DA1-L-Dot1q-STD-PRI-10G-NK-337 + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/32fd70f2-ce6b-4140-9358-561db52f2ea0 + type: L2_PROFILE + name: SP for Local No-Redundant Connection DOT1Q + uuid: 32fd70f2-ce6b-4140-9358-561db52f2ea0 + linkProtocol: + type: DOT1Q + vlanTag: 3322 + 400_Invalid_id: + value: + - errorCode: EQ-3142519 + errorMessage: Connection does not exist or do not belong to user,Please check connection Id + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + ConnectionPutCustomFieldsRequest: + value: + additionalInfo: + - key: Text Custom Field + value: Test Custom Field + - key: Number Custom Field + value: "123" + - key: Optional List Filed + value: Option 1 + - key: Check Box Custom Filed + value: true + zSide: + accessPoint: + type: SP + location: + metroCode: SV + profile: + type: L2_PROFILE + uuid: ab068089-1b76-484e-b0f7-80e13abd6920 + aSide: + accessPoint: + type: COLO + linkProtocol: + type: Dot1q + vlanTag: "23" + location: + metroCode: DA + port: + uuid: c791f8cb-59f1-9f10-8ce0-306a5c00a4ee + bandwidth: 50 + name: CONNECTION_TESTING + notifications: + - type: ALL + emails: + - fusiontestbuyer@equinix.com + type: EVPL_VC + uuid: 92d54857-fe28-4977-8fca-54e7bef67bba + order: + purchaseOrderNumber: POTEST1 + ConnectionDeletionResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB /*Proposal*/ + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: XF_PORT + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanSTag: 1002 + vlanCTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: DEPROVISIONING + providerStatus: DEPROVISIONING + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + deletedDateTime: 2020-05-21T10:30:00Z + createdBy: 232216 + updatedBy: 344339 + deletedBy: 232216 + 400-delete: + value: + - errorCode: EQ-3142510 + errorMessage: Connection is in transient state + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + 403-delete: + value: + - errorCode: EQ-3142401 + errorMessage: Your account isn't authorized to perform this task. Contact your administrator for assistance. + correlationId: 12312y7127tges + ConnectionUpdateNameRequest: + value: + - op: replace + path: /name + value: Conn-Name-2 + ConnectionUpdateBandwidthRequest: + value: + - op: replace + path: /bandwidth + value: 1000 + ConnectionAddAccessAndSecretKeyAWSRequest: + value: + - op: add + path: "" + value: + additionalInfo: + - key: accessKey + value: nTTgtgoQbTQCRHTbynll + - key: secretKey + value: NwPcpbWgFEPofydsZEQGwjtHqJOYrUmBbrcxtOzP + ConnectionAddRoutingRequest: + value: + - op: add + path: /ipv6 + value: + equinixIfaceIp: 1202:ABCD::/64 + ConnectionMigrationAsideRequest: + value: + - op: replace + path: /aSide/accessPoint/port/uuid + value: 5e7fd31d-f1e8-46fe-b6ad-6f5f2306cfd8 + ConnectionUpdateNotificationEmailRequest: + value: + - op: replace + path: /notifications + value: + - type: ALL + emails: + - testEmail1@equinix.com + - testEmail2@equinix.com + ConnectionMigrationAsideVirtualDeviceRequest: + value: + - op: replace + path: /aSide/accessPoint/virtualDevice/uuid + value: 5e7fd31d-f1e8-46fe-b6ad-6f5f2306cfd8 + ConnectionPatchResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection-2 + bandwidth: 1000 + direction: OUTGOING + isRemote: true + redundancy: + group: 66c10a60-789e-4b25-b85c-7eb225a4c344 + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + type: L2_PROFILE + location: + metroHref: https://api.equinix.com/fabric/v4/metros/MX + metroCode: MX + linkProtocol: + type: DOT1Q + vlanTag: 1001 + operation: + providerStatus: PROVISIONED + equinixStatus: PROVISIONED + change: + uuid: da6a1a0b-0872-4c06-b9d7-5c8ee3056775 + type: CONNECTION_UPDATE + status: APPROVED + createdDateTime: 2021-12-12T06:00:01.183Z + updatedDateTime: 2021-12-12T06:00:09.278916Z + data: + op: replace + path: /aSide/accessPoint/port/uuid + value: c791f8cb-58f9-8f90-8ce0-306a5c00a4ee + changeLog: + createdDateTime: 2020-04-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + account: + accountNumber: 270001 + orgId: 91997 + globalOrgId: 3453453cccc + Connection_Creation_Acceptance: + value: + type: CONNECTION_CREATION_ACCEPTANCE + data: + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanSTag: 1002 + vlanCTag: 1001 + Connection_Creation_Rejection: + value: + type: CONNECTION_CREATION_REJECTION + description: Invalid connection request + Connection_Update_Acceptance: + value: + type: CONNECTION_UPDATE_ACCEPTANCE + Connection_Update_Rejection: + value: + type: CONNECTION_UPDATE_REJECTION + description: Invalid connection update request + Connection_Deletion_Acceptance: + value: + type: CONNECTION_DELETION_ACCEPTANCE + Connection_Update_Request_VC_Migration: + value: + type: CONNECTION_UPDATE_REQUEST + data: + zSide: + accessPoint: + type: COLO + port: + uuid: c791f8cb-5a47-a470-8ce0-306a5c00a4ee + Connection_Provider_Status_Request: + value: + type: CONNECTION_PROVIDER_STATUS_REQUEST + AcceptZSide_NetworkEdge_Request: + value: + type: CONNECTION_CREATION_ACCEPTANCE + data: + zSide: + accessPoint: + virtualDevice: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: CLOUD + id: 8 + ConnectionActionResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81/actions/37c10edc-ba2e-4240-a850-8a48f9c47d00 + type: CONNECTION_CREATION_ACCEPTANCE + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + data: + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + type: L2_PROFILE + location: + metroHref: https://api.equinix.com/fabric/v4/metros/MX + metroCode: MX + linkProtocol: + type: DOT1Q + vlanTag: 1001 + changeLog: + createdDateTime: 2020-04-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + RoutingProtocolGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + - href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + 404_invalid_id: + value: + - errorCode: EQ-3041120 + errorMessage: The connection ID was not found or was already deleted. + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + 500_internal_error: + value: + - errorCode: EQ-3041011 + errorMessage: Bad request - Internal Server Error. Please check the request payload and submit again. + details: Please contact support@equinix.com for more info + correlationId: 9048796775044a60-39cb-4ccc-b272-b80f126e5408 + additionalInfo: + - reason: Please contact support@equinix.com for more info + Fcr2ColoCreateDirect: + value: + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + Fcr2ColoCreateBGP: + value: + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 100 + bfd: + enabled: true + interval: 100 + Fcr2GcpCreateDirect: + value: + type: DIRECT + directIpv4: + equinixIfaceIp: 169.254.100.1/30 + Fcr2GcpCreateBGP: + value: + type: BGP + bgpIpv4: + customerPeerIp: 169.254.100.2 + equinixPeerIp: 169.254.100.1 + outboundASPrependCount: 3 + customerAsn: 100 + RoutingProtocolCreateBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + RoutingProtocolCreateDirectResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + CreateRoutingWithDirectOnly: + value: + data: + - type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + CreateRoutingWithBGPOnly: + value: + data: + - type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + outboundASPrependCount: 3 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: 100 + CreateRoutingWithDirectAndBGP: + value: + data: + - type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + outboundASPrependCount: 3 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: 100 + - type: DIRECT + name: My-Direct-route-1 + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + 400_routing_protocol: + value: + - errorCode: EQ-3041022 + errorMessage: Invalid argument value passed + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + details: There are no available RFC3279 subnets on the same Fabric Cloud Router. + - errorCode: EQ-3041023 + errorMessage: Invalid pagination parameter. + correlationId: test + additionalInfo: + - property: offset + - reason: The offset parameter must be a Nonnegative Integer. + - errorCode: EQ-3041012 + errorMessage: The system is unable to process your request. + details: The routing protocol associated with this Connection is in the transient state. + correlationId: test + additionalInfo: + - reason: Routing protocol creation or deletion is not allowed if the routing protocol associated with connection is in the transient state. + - errorCode: EQ-3041016 + errorMessage: The system is unable to process your request. + details: The BGP routing protocol should be deleted before deleting the DIRECT routing protocol for the same Connection. + correlationId: test + - errorCode: EQ-3041001 + errorMessage: Invalid argument passed. + correlationId: test + - errorCode: EQ-3041002 + errorMessage: Invalid argument value passed. + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: type + reason: The type must be one of the following [DIRECT, BGP]. + - errorCode: EQ-3041013 + errorMessage: Required field. + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: $.type + reason: Type is mandatory field. + - errorCode: EQ-3041014 + errorMessage: Json syntax error. Please check the request body. + details: Json syntax error. Please check the request body. + correlationId: test + - errorCode: EQ-3041015 + errorMessage: Invalid request. + details: Value must not be null. + correlationId: test + additionalInfo: + - property: data[0].directIpv6.equinixIfaceIp + UpdateRoutingWithDirectOnly: + value: + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + UpdateRoutingWithBGPOnly: + value: + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + outboundASPrependCount: 3 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: 100 + RoutingProtocolReplaceBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + RoutingProtocolReplaceDirectResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + RoutingProtocolDeleteDirectResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: DEPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_DELETION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + RoutingProtocolDeleteBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: DEPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_DELETION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 10000 + equinixAsn: 10001 + PatchRoutingProtocolEnableIPv4: + value: + - op: replace + path: /bgpIpv4/enabled + value: true + PatchRoutingProtocolEnableIPv6: + value: + - op: replace + path: /bgpIpv6/enabled + value: true + PatchRoutingProtocolDisableIPv4: + value: + - op: replace + path: /bgpIpv4/enabled + value: false + PatchRoutingProtocolDisableIPv6: + value: + - op: replace + path: /bgpIpv6/enabled + value: false + RoutingProtocolEnableBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + enabled: true + customerPeerIp: 10.1.1.3 + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + RoutingProtocolDisableBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + enabled: false + customerPeerIp: 10.1.1.3 + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + BGPActionsBulkDataResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/835ed234-1dbb-5634-c320-25d0234dd117 + uuid: 835ed234-1dbb-5634-c320-25d0234dd117 + type: CLEAR_BGPIPV6_INBOUND + description: soft clear bgp ipv6 inbound session + state: SUCCEEDED + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:35:00Z + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/4d5ed98a-8dba-4651-a317-8ad0234dd157/actions/995ed98b-1db9-6653-c323-19d0234dd999 + uuid: 995ed98b-1db9-6653-c323-19d0234dd999 + type: CLEAR_BGPIPV4_INBOUND + description: soft clear bgp ipv4 inbound session + state: FAILED + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:20:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:25:00Z + BGPSoftClearInAndOutBoundIPv4: + value: + type: CLEAR_BGPIPV4 + BGPSoftClearInAndOutBoundIPv6: + value: + type: CLEAR_BGPIPV6 + BGPSoftClearInBoundIPv4: + value: + type: CLEAR_BGPIPV4_INBOUND + BGPSoftClearInBoundIPv6: + value: + type: CLEAR_BGPIPV6_INBOUND + BGPHardResetIPv4: + value: + type: RESET_BGPIPV4 + BGPHardResetIPv6: + value: + type: RESET_BGPIPV6 + BGPHardResetIPv4Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: RESET_BGPIPV4 + description: hard reset bgp ipv4 session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPHardResetIPv6Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: RESET_BGPIPV6 + description: hard reset bgp ipv6 session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInAndOutBoundIPv4Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV4 + description: soft clear bgp ipv4 inbound and outbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInAndOutBoundIPv6Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV6 + description: soft clear bgp ipv6 inbound and outbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInBoundIPv4Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV4_INBOUND + description: soft clear bgp ipv4 inbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInBoundIPv6Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV6_INBOUND + description: soft clear bgp ipv6 inbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPActionDataResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/4e5ed00a-3dca-5652-b319-aad0234dd934 + uuid: 4e5ed00a-3dca-5652-b319-aad0234dd934 + type: CLEAR_BGPIPV6_INBOUND + description: soft clear bgp ipv6 inbound session + state: SUCCEEDED + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: adminuser + updatedByEmail: adminuser@equinix.com + updatedByFullName: adminuser adminuser + updatedDateTime: 2020-05-21T10:35:00Z + RoutingProtocolGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/2a4fb415-5a7f-436f-bae6-02f5e403deec/routingProtocols/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: ROUTING_PROTOCOL_UPDATE + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + data: + op: replace + path: / + value: + type: BGP + name: My-BGP-route-1 + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 10.1.1.3 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: "100" + RoutingProtocolGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/connections/2a4fb415-5a7f-436f-bae6-02f5e403deec/routingProtocols/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: ROUTING_PROTOCOL_UPDATE + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + data: + op: replace + path: / + value: + type: BGP + name: My-BGP-route-1 + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 10.1.1.3 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: "100" + - href: https://api.equinix.com/fabric/v4/connections/2a4fb415-5a7f-436f-bae6-02f5e403deec/routingProtocols/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: ROUTING_PROTOCOL_CREATION + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + data: + op: add + path: / + value: + type: BGP + name: My-BGP-route-1 + bgpIpv4: + customerPeerIp: 10.1.1.3 + equinixPeerIp: 10.1.1.4 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: "100" + ConnectionSearchDirection: + value: + filter: + and: + - property: /direction + operator: = + values: + - OUTGOING + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchIsremote: + value: + filter: + and: + - property: /isRemote + operator: = + values: + - true + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchName: + value: + filter: + and: + - property: /name + operator: = + values: + - AWS-Dot1Q-AWSRemote + pagination: + limit: 25 + offset: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchUuid: + value: + filter: + and: + - property: /uuid + operator: = + values: + - 3736df8d-a903-42fd-bd06-06c9a76b238e + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchCustorg: + value: + filter: + and: + - property: /account/orgId + operator: = + values: + - 91997 + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchAccountname: + value: + filter: + and: + - property: /aSide/accessPoint/account/accountName + operator: = + values: + - testBuyer-270001 + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchCloudRouteruuid: + value: + filter: + and: + - property: /aSide/accessPoint/router/uuid + operator: = + values: + - 742e5b08-385a-4f50-94b8-08acdf91b7b0 + pagination: + limit: 25 + offset: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchAsidevlanstagctag: + value: + filter: + and: + - property: /aSide/accessPoint/linkProtocol/vlanSTag + operator: = + values: + - "4002" + - property: /aSide/accessPoint/linkProtocol/vlanCTag + operator: = + values: + - "0" + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsidemetrocodemetroname: + value: + filter: + and: + - property: /aSide/accessPoint/location/metroCode + operator: = + values: + - DA + - property: /aSide/accessPoint/location/metroName + operator: = + values: + - Dallas + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideaccesspointname: + value: + filter: + and: + - property: /aSide/accessPoint/port/name + operator: = + values: + - l2-qa-1-DA1-L-Dot1q-STD-SEC-10G-NK-385 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideaccesspointuuid: + value: + filter: + and: + - property: /aSide/accessPoint/port/uuid + operator: = + values: + - c791f8cb-5941-9410-8ce0-306a5c00a4ee + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideaccesspointtype: + value: + filter: + and: + - property: /aSide/accessPoint/type + operator: = + values: + - COLO + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsidevirtualdevicename: + value: + filter: + and: + - property: /aSide/accessPoint/virtualDevice/name + operator: = + values: + - E2E-NE-Device-Aut-170122034210108 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsidevirtualdeviceuuid: + value: + filter: + and: + - property: /aSide/accessPoint/virtualDevice/uuid + operator: = + values: + - c6b96cec-cf70-4700-9c1e-2f73724d2fa5 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideservicetokenuuid: + value: + filter: + and: + - property: /aSide/serviceToken/uuid + operator: = + values: + - 30225621-c1ad-4614-b6a5-d9c70cad61cb + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchChangestatus: + value: + filter: + and: + - property: /change/status + operator: = + values: + - APPROVED + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchUpdatedatetime: + value: + filter: + and: + - property: /changeLog/updatedDateTime + operator: = + values: + - 2021-01-02T00:00:00Z + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchEquinixstatus: + value: + filter: + and: + - property: /operation/equinixStatus + operator: = + values: + - PROVISIONED + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchProviderstatus: + value: + filter: + and: + - property: /operation/providerStatus + operator: = + values: + - AVAILABLE + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchProjectidOPtional-CRH: + value: + filter: + and: + - property: /project/projectId + operator: = + values: + - 30ad25e2-53dc-11ed-bdc3-0242ac120002 + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchRedundancygroup: + value: + filter: + and: + - operator: = + property: /redundancy/group + values: + - 3f7ab592-0db3-41b8-bb9a-ecc05d5d5732 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchRedundancypriority: + value: + filter: + and: + - operator: = + property: /redundancy/priority + values: + - PRIMARY + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidevlanstagctag: + value: + filter: + and: + - property: /zSide/accessPoint/linkProtocol/vlanSTag + operator: = + values: + - "4002" + - property: /zSide/accessPoint/linkProtocol/vlanCTag + operator: = + values: + - "0" + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidemetrocodemetroname: + value: + filter: + and: + - property: /zSide/accessPoint/location/metroCode + operator: = + values: + - DA + - property: /zSide/accessPoint/location/metroName + operator: = + values: + - Dallas + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideaccesspointname: + value: + filter: + and: + - property: /zSide/accessPoint/port/name + operator: = + values: + - testGoogle-SV5-NL-Dot1q-STD-SEC-10G-JN-73 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideaccesspointuuid: + value: + filter: + and: + - property: /zSide/accessPoint/port/uuid + operator: = + values: + - c791f8cb-5941-9410-8ce0-306a5c00a4ee + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideaccesspointtype: + value: + filter: + and: + - property: /zSide/accessPoint/type + operator: = + values: + - COLO + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidevirtualdevicename: + value: + filter: + and: + - property: /zSide/accessPoint/virtualDevice/name + operator: = + values: + - E2E-NE-Device-Aut-170122034210108 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidevirtualdeviceuuid: + value: + filter: + and: + - property: /zSide/accessPoint/virtualDevice/uuid + operator: = + values: + - c6b96cec-cf70-4700-9c1e-2f73724d2fa5 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideservicetokenuuid: + value: + filter: + and: + - property: /zSide/serviceToken/uuid + operator: = + values: + - 019eab69-8293-4abf-ac8c-e6269d5a3e92 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideprofileuuid: + value: + filter: + and: + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - c6b96cec-cf70-4700-9c1e-2f73724d2fa5 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchANDwithNestedOR-LIKE: + value: + filter: + and: + - operator: = + property: /operation/equinixStatus + values: + - PROVISIONED + - PENDING_APPROVAL + - operator: = + property: /operation/providerStatus + values: + - AVAILABLE + - PENDING_APPROVAL + - PROVISIONED + - or: + - operator: LIKE + property: /name + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/account/accountName + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/account/accountName + values: + - AWS-Dot1Q + - operator: LIKE + property: /uuid + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/name + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/linkProtocol/vlanCTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/linkProtocol/vlanSTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/linkProtocol/vlanCTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/linkProtocol/vlanSTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/linkProtocol/vlanCTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/authenticationKey + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/serviceToken/uuid + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/serviceToken/uuid + values: + - AWS-Dot1Q + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchORwithNestedAND: + value: + filter: + or: + - and: + - operator: = + property: /direction + values: + - INCOMING + - operator: = + property: /change/status + values: + - SUBMITTED_FOR_APPROVAL + - and: + - operator: = + property: /direction + values: + - INCOMING + - operator: = + property: /operation/equinixStatus + values: + - PENDING_APPROVAL + - PENDING_DELETE + - and: + - operator: = + property: /direction + values: + - OUTGOING + - operator: = + property: /operation/providerStatus + values: + - PENDING_APPROVAL + - operator: = + property: /operation/equinixStatus + values: + - PROVISIONED + pagination: + limit: 1000 + offset: 0 + ConnectionSearchANDwithNestedIN: + value: + filter: + and: + - operator: = + property: /type + values: + - EVPL_VC + - operator: = + property: /aSide/accessPoint/type + values: + - COLO + - operator: = + property: /aSide/accessPoint/location/metroCode + values: + - LD + - operator: = + property: /zSide/accessPoint/type + values: + - COLO + - operator: = + property: /zSide/accessPoint/location/metroCode + values: + - DA + - operator: IN + property: /bandwidth + values: + - "50" + - "200" + - "500" + - "1000" + - "2000" + - "5000" + - "10000" + ConnectionSearchANDClause: + value: + filter: + and: + - property: /direction + operator: = + values: + - OUTGOING + - INTERNAL + - property: /aSide/accessPoint/port/uuid + operator: = + values: + - c791f8cb-5941-9410-8ce0-306a5c00a4ee + - property: /operation/equinixStatus + operator: = + values: + - PROVISIONED + - property: /operation/providerStatus + operator: = + values: + - PROVISIONED + - AVAILABLE + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + limit: 25 + offset: 0 + ConnectionSearchANDwithNestedOR: + value: + filter: + and: + - operator: = + property: /operation/equinixStatus + values: + - PROVISIONED + - PENDING_APPROVAL + - operator: = + property: /operation/providerStatus + values: + - AVAILABLE + - PENDING_APPROVAL + - PROVISIONED + - or: + - operator: LIKE + property: /name + values: + - AWS-Dot1Q + - operator: LIKE + property: /uuid + values: + - AWS-Dot1Q + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + limit: 25 + offset: 0 + VirtualConnectionProductEvplVcTypeFromColoToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "false" + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductEvplVcTypeFromColoToColoByPortUuid: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/port/uuid + operator: = + values: + - b840a1db-54ab-4abf-97e0-328a5c00a874 + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductEvplVcTypeFromColoToSP: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "false" + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductGwVcTypeFromGWToSP: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - IP_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - CLOUD_ROUTER + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - SV + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductGwVcTypeFromGWToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - IP_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - CLOUD_ROUTER + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductGwVcTypeFromVDToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - IP_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - VD + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - SV + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductEvplVcTypeFromVDToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - VD + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - SV + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductVdChainTypeFromVDToChaingroup: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - VD_CHAIN_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - VD + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/bridge/package/code + operator: = + values: + - REGIONAL + - property: /connection/zSide/accessPoint/type + operator: = + values: + - CHAINGROUP + VirtualConnectionProductOfflineEvplVcTypeFromColoToSp: + value: + filter: + or: + - and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "false" + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + - and: + - property: /connection/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductEvpLanVcTypeFromColoToNetwork: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPLAN_VC + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - DA + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "true" + - property: /connection/zSide/accessPoint/type + operator: = + values: + - NETWORK + - property: /connection/zSide/accessPoint/network/scope + operator: = + values: + - REGIONAL + - property: /connection/bandwidth + operator: IN + values: + - "10" + FabricCloudRouterProduct: + value: + filter: + and: + - property: /type + operator: = + values: + - CLOUD_ROUTER_PRODUCT + - property: /router/location/metroCode + operator: = + values: + - CH + - property: /router/package/code + operator: IN + values: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + IpBlockProduct: + value: + filter: + and: + - property: /type + operator: = + values: + - IP_BLOCK_PRODUCT + - property: /ipBlock/type + operator: = + values: + - IPv4 + - property: /ipBlock/prefixLength + operator: = + values: + - "29" + - property: /ipBlock/location/metroCode + operator: IN + values: + - SV + - WA + VirtualPortProduct: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_PORT_PRODUCT + - property: /account/accountNumber + operator: = + values: + - "270001" + - property: /port/location/ibx + operator: = + values: + - DA1 + - property: /port/type + operator: = + values: + - XF_PORT + - property: /port/bandwidth + operator: = + values: + - "1000" + - property: /port/settings/buyout + operator: = + values: + - "false" + - property: /port/serviceType + operator: = + values: + - EPL + - property: /port/connectivitySource/type + operator: = + values: + - COLO + - property: /port/lag/enabled + operator: = + values: + - "false" + VirtualConnection: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: VIRTUAL_CONNECTION_PRODUCT + code: ECX00015.PROD + name: Equinix Fabric Virtual Connection Product + description: Equinix Fabric Virtual Connection + account: + accountNumber: 200001 + charges: + - type: MONTHLY_RECURRING + price: 500 + currency: USD + connection: + type: EVPL_VC + bandwidth: 100 + aSide: + accessPoint: + type: COLO + location: + metroCode: CH + port: + settings: + buyout: false + zSide: + accessPoint: + type: SP + location: + metroCode: CH + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f2 + IpBlock: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: IP_BLOCK_PRODUCT + code: ECX00005.PROD + name: Equinix Fabric IP Addressing Product + description: Equinix Fabric IP Addressing + charges: + - type: MONTHLY_RECURRING + price: 20 + currency: USD + ipBlock: + type: IPv4 + prefixLength: 29 + location: + metroCode: CH + FabricCloudRouter: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: CLOUD_ROUTER_PRODUCT + code: ECX00014.PROD + name: Equinix Cloud Router Product + description: Equinix Cloud Router + account: + accountNumber: 200001 + charges: + - type: MONTHLY_RECURRING + price: 5000 + currency: USD + router: + package: + code: ADVANCED + location: + metroCode: CH + VirtualPort: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: VIRTUAL_PORT_PRODUCT + code: ECX00001.PROD + name: Equinix Fabric Port Product + description: Equinix Fabric 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 + serviceType: EPL + settings: + buyout: false + 400_prices: + value: + - errorCode: EQ-3038010 + errorMessage: Validation failure + details: Invalid request body + additionalInfo: + - property: /connection/zSide/accessPoint/location/metroCode + reason: /connection/zSide/accessPoint/location/metroCode has invalid format + 500_prices: + value: + - errorCode: EQ-3038030 + errorMessage: Internal Server Error + details: We couldn't process you request + 200_port: + value: + href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: Equinix-EM-CX-xxx-L-Dot1q-BO-100G-PRI-xx + bandwidthUtilization: 10000 + stats: + startDateTime: 2020-05-21T08:00:00Z + endDateTime: 2020-05-21T10:30:00Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: + max: 68.00905623111112 + mean: 48.90562310112 + lastPolled: 41.00905623111112 + metrics: + - intervalEndDateTime: 2020-05-21T10:30:00Z + max: 45.5623145112009 + mean: 31.38641687333333 + outbound: + max: 41.99068261111111 + mean: 33.70374303096296 + lastPolled: 41.43428905111111 + metrics: + - intervalEndDateTime: 2020-05-21T10:30:00Z + max: 42.01401189333334 + mean: 39.40894303096296 + 200_top: + value: + pagination: + offset: 0 + limit: 5 + total: 5 + data: + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: + max: 1913400000 + mean: 474960.24489120545 + lastPolled: 53.333333333333336 + metrics: + - intervalEndDateTime: 2021-03-18T18:49:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - intervalEndDateTime: 2021-03-18T18:54:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - intervalEndDateTime: 2021-03-18T18:59:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - intervalEndDateTime: 2021-03-18T19:04:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + - type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + 200_vc: + value: + href: https://api.equinix.com/fabric/v4/connections/97d1850f-4df0-468c-9281-fa7b0dfa2096 + type: EVPL_VC + uuid: 97d1850f-4df0-468c-9281-fa7b0dfa2096 + name: Admin-STATS-123-Abc + stats: + startDateTime: 2021-01-10T20:05:08Z + endDateTime: 2021-01-10T21:05:08Z + viewPoint: aSide + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: + max: 68.38641687333333 + mean: 39.96267986650665 + lastPolled: 41.00905623111112 + metrics: + - intervalEndDateTime: 2021-01-10T20:05:00Z + max: 41.89234537555556 + mean: 33.62481298948148 + - intervalEndDateTime: 2021-01-10T20:10:00Z + max: 41.86234987534256 + mean: 36.92451598748148 + - intervalEndDateTime: 2021-01-10T20:15:00Z + max: 41.86907222888888 + mean: 43.98230834555556 + - intervalEndDateTime: 2021-01-10T20:20:00Z + max: 41.91562025333334 + mean: 41.086565260765425 + outbound: + max: 67.79944363333334 + mean: 38.116581250214345 + lastPolled: 41.43428905111111 + metrics: + - intervalEndDateTime: 2021-01-10T20:05:00Z + max: 41.99068261111111 + mean: 33.70374303096296 + - intervalEndDateTime: 2021-01-10T20:10:00Z + max: 42.56065261666111 + mean: 31.52464373892222 + - intervalEndDateTime: 2021-01-10T20:15:00Z + max: 41.96735416222222 + mean: 44.08555118977779 + - intervalEndDateTime: 2021-01-10T20:20:00Z + max: 42.01401189333334 + mean: 39.40894303096296 + ServiceProfilesResponse: + value: + data: + - state: ACTIVE + account: + organizationName: testSeller-270010 + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=aSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + selfProfile: true + pagination: + offset: 0 + limit: 1 + total: 52 + next: /serviceProfiles?offset=1&limit=1 + SellerServiceProfilesResponse: + value: + data: + - state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=zSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + pagination: + offset: 0 + limit: 1 + total: 31898 + next: /serviceProfiles?offset=1&limit=1 + sp-400: + value: + - errorCode: EQ-3001015 + errorMessage: Access point is not accessible + - errorCode: EQ-3001014 + errorMessage: Redundant Service Profile requires at least one primary port and one secondary port in a metro + - errorCode: EQ-3001013 + errorMessage: Some of the access point are duplicate + - errorCode: EQ-3001012 + errorMessage: access point with same port encapsulation will be allowed in service profile request + - errorCode: EQ-3001019 + errorMessage: If apiAvailable, then integrationId is mandatory + - errorCode: EQ-3001020 + errorMessage: Speed from api required + - errorCode: EQ-3001021 + errorMessage: Speedbands not allowed + - errorCode: EQ-3001112 + errorMessage: API Integration should be enabled with Integration ID for deriving speed from API + - errorCode: EQ-3001023 + errorMessage: Speed band length is invalid + - errorCode: EQ-3001024 + errorMessage: Invalid api available + - errorCode: EQ-3001025 + errorMessage: Seller port encapsulation cannot be DOT1Q if Auto generate service key is True + - errorCode: EQ-3001026 + errorMessage: "customFields[].options : must have values for customField with dataType=LIST" + - errorCode: EQ-3001027 + errorMessage: Duplicate custom field lables + - errorCode: EQ-3001113 + errorMessage: Service profile can be updated to ACTIVE or REJECTED + - errorCode: EQ-3001114 + errorMessage: Some of the profile with the given id either not in valid state or not exist in database + - errorCode: EQ-3001115 + errorMessage: Unable to delete some of the profile because it does not exist + - errorCode: EQ-3001116 + errorMessage: get metros call failed + - errorCode: EQ-3001028 + errorMessage: Cannot change service profile type + - errorCode: EQ-3001029 + errorMessage: Cannot change state if not admin user + - errorCode: EQ-3001030 + errorMessage: Invalid Custom Field dataType + - errorCode: EQ-3001031 + errorMessage: Invalid notification.type value + - errorCode: EQ-3001032 + errorMessage: "serviceProfile.type : unsupported value" + - errorCode: EQ-3001022 + errorMessage: Only alphanumeric, hyphen(-) and underscore(_) characters are allowed in service profile name. Other special characters are not allowed + - errorCode: EQ-3001204 + errorMessage: EPL ports are not supported + sp-401: + value: + - errorCode: EQ-3001207 + errorMessage: Unauthorized user + sp-403-read: + value: + - errorCode: EQ-3001033 + errorMessage: You are not authorized to execute the requested action on the resource + sp-500: + value: + - errorCode: EQ-3001206 + errorMessage: Internal Server Error + ServiceProfileCreate: + value: + name: Service Profile 1 + description: Sample_description + type: L2_PROFILE + notifications: + - emails: + - someone@sample.com + type: BANDWIDTH_ALERT + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + ports: + - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + type: XF_PORT + location: + metroCode: SY + marketingInfo: + promotion: true + accessPointTypeConfigs: + - type: COLO + connectionRedundancyRequired: false + allowBandwidthAutoApproval: false + allowRemoteConnections: true + connectionLabel: Service Profile 1 + enableAutoGenerateServiceKey: false + bandwidthAlertThreshold: 10 + allowCustomBandwidth: true + apiConfig: + apiAvailable: false + equinixManagedVlan: false + bandwidthFromApi: false + integrationId: null + equinixManagedPort: false + authenticationKey: + required: false + label: Service Key + description: XYZ + supportedBandwidths: + - 100 + - 500 + ServiceProfileCreate-CRH: + value: + name: Service Profile 1 + description: Sample_description + type: L2_PROFILE + notifications: + - emails: + - someone@sample.com + type: BANDWIDTH_ALERT + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + ports: + - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + type: XF_PORT + location: + metroCode: SY + marketingInfo: + promotion: true + accessPointTypeConfigs: + - type: COLO + connectionRedundancyRequired: false + allowBandwidthAutoApproval: false + allowRemoteConnections: true + connectionLabel: Service Profile 1 + enableAutoGenerateServiceKey: false + bandwidthAlertThreshold: 10 + allowCustomBandwidth: true + apiConfig: + apiAvailable: false + equinixManagedVlan: false + bandwidthFromApi: false + integrationId: null + equinixManagedPort: false + authenticationKey: + required: false + label: Service Key + description: XYZ + supportedBandwidths: + - 100 + - 500 + ServiceProfileCreateResponse: + value: + state: PENDING_APPROVAL + account: + orgId: 91785 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdDateTime: 2022-04-12T19:06:57.940Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 1 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + ibxs: + - SY4 + sp-403-create: + value: + - errorCode: EQ-3001036 + errorMessage: You are not authorized to execute the requested action on the resource + ServiceProfileSearchWithUuid: + value: + filter: + property: /uuid + operator: = + values: + - 13100b2d-234f-4425-ab5c-1449d4b806be + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithName: + value: + filter: + property: /name + operator: = + values: + - My-Service-Profile-1 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithState: + value: + filter: + property: /state + operator: = + values: + - ACTIVE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithVisibility: + value: + filter: + property: /visibility + operator: = + values: + - PUBLIC + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithProjectId: + value: + filter: + property: /project/projectId + operator: = + values: + - e365ab86-0103-44a6-a08b-120c4374b000 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithPort: + value: + filter: + property: /ports/uuid + operator: = + values: + - 23100b2d-234f-4425-ab5c-1449d4b806bf + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithAnd: + value: + filter: + and: + - property: /state + operator: = + values: + - ACTIVE + - property: /visibility + operator: = + values: + - PRIVATE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + sp-400-search: + value: + - errorCode: EQ-3001022 + errorMessage: INVALID_VALUE + - errorCode: EQ-3001202 + errorMessage: Unsupported search property + details: "Supported search properties are : /name,/uuid,/state,/metros/code,/visibility,/type" + - errorCode: EQ-3001202 + errorMessage: Unsupported search property + details: "Supported search operator is : =" + - errorCode: EQ-3001022 + errorMessage: "pagination.limit : must be greater than or equal to 1" + additionalInfo: + - property: pagination.limit + reason: must be greater than or equal to 1 + - errorCode: EQ-3001022 + errorMessage: "pagination.offset : must be greater than or equal to 0" + additionalInfo: + - property: pagination.offset + reason: must be greater than or equal to 0 + - errorCode: EQ-3001022 + errorMessage: Unexpected value + ServiceProfileResponse: + value: + state: ACTIVE + account: + organizationName: testSeller-270010 + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=aSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + selfProfile: true + SellerServiceProfileResponse: + value: + state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=zSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + ServiceProfileUpdate: + value: + name: Service Profile 2 + description: Sample_description + type: L2_PROFILE + notifications: + - emails: + - someone@sample.com + type: BANDWIDTH_ALERT + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + ports: + - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + type: XF_PORT + location: + metroCode: SY + marketingInfo: + promotion: true + accessPointTypeConfigs: + - type: COLO + connectionRedundancyRequired: false + allowBandwidthAutoApproval: false + allowRemoteConnections: false + connectionLabel: true1 + enableAutoGenerateServiceKey: false + bandwidthAlertThreshold: 10 + allowCustomBandwidth: true + apiConfig: + apiAvailable: false + equinixManagedVlan: true + bandwidthFromApi: false + integrationId: null + equinixManagedPort: true + authenticationKey: + required: false + label: Service Key + description: XYZ + supportedBandwidths: + - 100 + - 500 + ServiceProfilePutResponse: + value: + state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + sp-403-update: + value: + - errorCode: EQ-3001035 + errorMessage: You are not authorized to execute the requested action on the resource + sp-404-get: + value: + - errorCode: EQ-3001011 + errorMessage: Invalid uuid + ServiceProfileDeleteResponse: + value: + state: DELETED + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T21:53:57.816Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + tags: + - sample_tag + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + sp-400-delete: + value: + - errorCode: EQ-3001115 + errorMessage: Unable to delete some of the profile because it does not exist + sp-403-delete: + value: + - errorCode: EQ-3001034 + errorMessage: You are not authorized to execute the requested action on the resource + ServiceProfilePatchRequest: + value: + - op: add + path: /tags + value: + - sample_tag + ServiceProfilePatchResponse: + value: + state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + tags: + - sample_tag + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + sp-412: + value: + - errorCode: EQ-3001205 + errorMessage: "If-Match : invalid Etag version" + getServiceToken: + value: + href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + getServiceToken-CRH: + value: + href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expiry: 0 + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + project: + projectId: "995072000433550" + 400_UUID: + value: + - errorCode: EQ-3034016 + errorMessage: Token not found + correlationId: 0963d003-ecda-4391-b166-8ccbf31d2d82 + additionalInfo: + - property: tokenUuid + reason: Token not found + UpdateExpirationDate: + value: + - op: replace + path: /expirationDateTime + value: 2023-01-20T18:50:34.696Z + UpdateTokenName: + value: + - op: replace + path: /name + value: Az_Aside_Dot1Q_NewName + UpdateTokenDescription: + value: + - op: replace + path: /description + value: Az_Aside_Dot1Q_Pri_SV_NewDescription + UpdateNotificationEmail: + value: + - op: replace + path: /notifications/emails + value: + - test1@equinix.com + - test2@equinix.com + UpdateAsideTokenBandwidth: + value: + - op: replace + path: /connection/bandwidthLimit + value: 100 + UpdateZsideTokenBandwidth: + value: + - op: replace + path: /connection/supportedBandwidths + value: + - 50 + - 1000 + getServiceTokens: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + getServiceTokens-CRH: + value: + pagination: + offset: 0 + limit: 75 + total: 1 + data: + - href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expiry: 0 + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + createServiceTokenWithQnQ: + value: + type: VC_TOKEN + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + createServiceTokenWithDot1Q: + value: + type: VC_TOKEN + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: DOT1Q + vlanTag: 1399 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + createServiceTokenWithVxlan: + value: + type: VC_TOKEN + name: Az_Aside_VxLAN_Pri_SV + description: Az_Aside_VxLAN_Pri_SV_Description + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + allowRemoteConnection: true + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: VXLAN + vlanTag: 510000 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + createZsideServiceTokenWithQnQ: + value: + type: VC_TOKEN + name: Az_Zside_Dot1Q_Pri_SV + description: Az_Zside_Dot1Q_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + createZsideServiceTokenWithQnQ-CRH: + value: + type: VC_TOKEN + name: Az_Zside_Dot1Q_Pri_SV + description: Az_Zside_Dot1Q_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + account: + accountNumber: 272010 + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + expiry: 1 + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + createZsideServiceTokenWithDot1Q: + value: + type: VC_TOKEN + name: Az_Zside_Dot1Q_Pri_SV + description: Az_Zside_Dot1Q_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: DOT1Q + vlanTag: "3332" + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + createZsideServiceTokenWithVxlan: + value: + type: VC_TOKEN + name: Az_Zside_VxLAN_Pri_SV + description: Az_Zside_VxLAN_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: VXLAN + vlanTag: "520000" + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + Resend_Service_Token: + value: + type: RESEND_EMAIL_NOTIFICATION + postServiceTokenActionResponse: + value: + href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expiry: 0 + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + project: + projectId: "995072000433550" + postServiceTokenSearchUuid: + value: + filter: + and: + - property: /uuid + operator: = + values: + - 407f8239-254c-4fe2-a378-458f197e17c4 + metro: + value: + pagination: + offset: 0 + limit: 75 + total: 1 + data: + - href: https://api.equinix.com/v4/fabric/metros/AM + type: XF_METRO + code: AM + name: Amsterdam + region: EMEA + equinixAsn: 60000 + localVCBandwidthMax: 10000 + geoCoordinates: + latitude: 52.30049 + longitude: 4.942603 + connectedMetros: + - href: https://api.equinix.com/v4/fabric/metros/MX + code: MX + avgLatency: 132 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/AM + code: HH + avgLatency: 8.62 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/SL + code: SL + avgLatency: 229 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/SO + code: SO + avgLatency: 36.3 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/IL + code: IL + avgLatency: 44.8 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/LS + code: LS + avgLatency: 36.6 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/BA + code: BA + avgLatency: 32.6 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/BL + code: BL + avgLatency: 3.28 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/GV + code: GV + avgLatency: 15.3 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/LD + code: LD + avgLatency: 5.85 + remoteVCBandwidthMax: 50000 + 400_metros: + value: + - errorCode: EQ-3036013 + errorMessage: Invalid Query Parameter + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: presence + reason: Allowed value for presence is MY_PORTS + 401_metros: + value: + - errorCode: EQ-3036001 + errorMessage: Unauthorized + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - reason: You are unauthorized to perform this operation + 500_metros: + value: + - errorCode: EQ-3036030 + errorMessage: Internal Server Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - reason: An Internal Server Error occured + metroByCode: + value: + href: https://api.equinix.com/v4/fabric/metros/AM + type: XF_METRO + code: AM + region: EMEA + name: Amsterdam + equinixAsn: 60000 + localVCBandwidthMax: 50000 + geoCoordinates: + latitude: 52.30049 + longitude: 4.942603 + connectedMetros: + - href: https://api.equinix.com/v4/fabric/metros/MX + code: MX + avgLatency: 132 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/HH + code: HH + avgLatency: 8.62 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/SL + code: SL + avgLatency: 229 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/SO + code: SO + avgLatency: 36.3 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/IL + code: IL + avgLatency: 44.8 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/LS + code: LS + avgLatency: 36.6 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/AM + code: BA + avgLatency: 32.6 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/BL + code: BL + avgLatency: 3.28 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/GV + code: GV + avgLatency: 15.3 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/LD + code: LD + avgLatency: 5.85 + remoteVCBandwidthMax: 10000 + 400_metroCode: + value: + - errorCode: EQ-3036013 + errorMessage: Invalid Path Parameter + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: pathparameter-metroCode + reason: Provide valid metro code + ports: + value: + pagination: + offset: 0 + limit: 5 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d + type: XF_PORT + uuid: e91484bb-4f65-4ab3-8f77-500dec2f855d + name: test-AT1-Dot1q-L-Secondary-108608 + state: ACTIVE + cvpId: "108608" + bandwidth: 10000 + usedBandwidth: 0 + availableBandwidth: 20000 + redundancy: + group: "1" + priority: SECONDARY + location: + metroHref: https://api.equinix.com/fabric/v4/metros/AT + ibx: AT1 + metroCode: AT + metroName: Atlanta + region: AMER + device: + name: dev-m7a2.lab + redundancy: + group: "1" + priority: SECONDARY + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + lagEnabled: true + lag: + enabled: true + settings: + buyout: false + placeVcOrderPermission: true + viewPortPermission: true + physicalPorts: + - state: ACTIVE + type: XF_PHYSICAL_PORT + id: 6967 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:956:66107 + patchPanelPortA: "5" + patchPanelPortB: "42" + operation: + operationalStatus: UP + - state: ACTIVE + type: XF_PHYSICAL_PORT + id: 6968 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + demarcationPoint: + ibx: AT1 + patchPanel: PP:8118:1586 + patchPanelName: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + operation: + operationalStatus: UP + operation: + operationalStatus: UP + opStatusChangedAt: 2021-06-14T17:21:25.586Z + connectionCount: 0 + account: + accountNumber: "100179" + accountName: L2 + globalCustId: 007700000090982RG8 + orgId: "100179" + organizationName: Cust_Org_100179 + changeLog: + createdDateTime: 2020-06-14T17:21:25.586Z + COLOSinglePortNonLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + physicalPorts: + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + COLOSinglePortLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + physicalPorts: + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + COLOLagPortNewGroup: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + physicalPorts: + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + COLOAddSecondaryPort: + value: + type: XF_PORT + physicalPortsSpeed: 10000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + sharedPortType: false + sharedPortProduct: null + redundancy: + priority: SECONDARY + group: 1f6bdb37-f131-5925-c039-fe1785fad165 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - type: PEERING + registeredUsers: + - jaguarsuser-port-order + - type: ESCALATION + registeredUsers: + - jaguarsuser-port-order + physicalPorts: + - demarcationPoint: + ibx: AM1 + cabinet: AM1:02:032575:0105 + cage: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + REMOTESinglePortNewGroupLagRequest: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: REMOTE + physicalPortsCount: 1 + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + sharedPortType: false + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + loas: + - uuid: 396e93c2-3b3a-4d47-a9d9-1ea68627374b + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + BMMRSinglePortLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + bmmrType: SELF + physicalPortsCount: 1 + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + loas: + - uuid: 396e93c2-3b3a-4d47-a9d9-1ea68627374b + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + BMMRSinglePortNoLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + loas: + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c3 + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c4 + BMMRAddSecondaryPort: + value: + type: XF_PORT + physicalPortsSpeed: 10000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + bmmrType: SELF|EQUINIX + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + sharedPortProduct: NETWORK_EDGE + redundancy: + priority: SECONDARY + group: 1f6bdb37-f131-5925-c039-fe1785fad165 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - type: PEERING + registeredUsers: + - jaguarsuser-port-order + - type: ESCALATION + registeredUsers: + - jaguarsuser-port-order + loas: + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c3 + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c4 + BMMRLagPortNewGroup: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + bmmrType: SELF + physicalPortsCount: 1 + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + COLOSinglePortNonLagResponse: + value: + href: https://api.equinix.com/fabric/v4/ports/0f6bdb36-e130-4924-b038-ee1785fad166 + type: XF_PORT + uuid: 0f6bdb36-e130-4924-b038-ee1785fad166 + state: PENDING + physicalPortsType: 10GBASE_L + physicalPortsSpeed: 10000 + physicalPortsCount: 1 + location: + metroCode: AM + demarcationPointIbx: AM1 + redundancy: + group: 1 + priority: PRIMARY + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + settings: + sharedPortType: false, + packageType: STANDARD + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + account: + accountNumber: 1000 + order: + orderNumber: 1-207799950758 + signature: + signatory: DELEGATE + delegate: + email: testEmail1@equinix.com + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - type: PEERING + registeredUsers: + - jaguarsuser-port-order + - type: ESCALATION + registeredUsers: + - jaguarsuser-port-order + port-400: + value: + - errorCode: EQ-3143101 + errorMessage: NOTIFICATION_CONTACT_NOT_VALID + details: notifications + - errorCode: EQ-3143103 + errorMessage: NOTIFICATION_CONTACT_MISSING + details: notifications + - errorCode: EQ-3143104 + errorMessage: ORDERING_CONTACT_MISSING + details: notifications + - errorCode: EQ-3143105 + errorMessage: ORDERING_CONTACT_NOT_VALID + details: notifications + - errorCode: EQ-3143106 + errorMessage: INVALID_PHYSICAL_PORTS + details: physicalPorts[%s].Demarcation.cageUniqueSpaceId + - errorCode: EQ-3143107 + errorMessage: INVALID_PATCH_PANEL_NAME + details: physicalPorts[%s].Demarcation.patchPanelName is not valid + - errorCode: EQ-3143108 + errorMessage: PHYSICAL_PORTS_MISSING + details: PhysicalPorts + - errorCode: EQ-3143109 + errorMessage: ALL_PORTS_USED + details: PhysicalPorts.Demarcation.port + - errorCode: EQ-3143110 + errorMessage: INVALID_PHYSICAL_PORTS_PORTA_DUPLICATE + details: PhysicalPorts[%s].Demarcation.portA + - errorCode: EQ-3143111 + errorMessage: INVALID_PHYSICAL_PORTS_PORTB_DUPLICATE + details: PhysicalPorts[%s].Demarcation.portB + - errorCode: EQ-3143112 + errorMessage: NEXT_AVAIL_CANNOT_BE_TRUE + details: PhysicalPorts[%s].Demarcation.portA + - errorCode: EQ-3143113 + errorMessage: provided metroCode is not available for this user + details: metroCode + - errorCode: EQ-3143114 + errorMessage: MISSING_PORTB + details: PhysicalPorts[%s].Demarcation.portB + - errorCode: EQ-3143115 + errorMessage: PORT_PRIORITY_SHOULD_BE_PRIMARY + details: priority + - errorCode: EQ-3143116 + errorMessage: INVALID_PHYSICAL_PORTS_SPEED + details: physicalPortsSpeed + - errorCode: EQ-3143117 + errorMessage: INVALID_PHYSICAL_PORTS_TYPE + details: physicalPortsType + - errorCode: EQ-3143118 + errorMessage: INVALID_QUOTE_REFERENCE_ID + details: quoteReferenceId + - errorCode: EQ-3143119 + errorMessage: INACTIVE_QUOTE_REFERENCE_ID + details: quoteReferenceId + - errorCode: EQ-3143120 + errorMessage: QUOTE_ORDER_MISMATCHED + details: quoteReferenceId + - errorCode: EQ-3143121 + errorMessage: SHARED_PORT_PRODUCT_INVALID + details: sharedPortProduct + - errorCode: EQ-3143122 + errorMessage: INVALID_USER + details: sharedPortType + - errorCode: EQ-3143123 + errorMessage: INVALID_CONNECTIVITY_SOURCE_TYPE + details: ConnectivitySourceType + - errorCode: EQ-3143124 + errorMessage: ACCOUNT_SERVICE_ERROR + details: AccountNumber + - errorCode: EQ-3143125 + errorMessage: MANDATORY_ATTRIBUTE_ERROR + details: PhysicalPorts[%s].Demarcation.portA + - errorCode: EQ-3143126 + errorMessage: UNTAGGED_INVALID_PACKAGE_TYPE + details: settings.packageType + - errorCode: EQ-3143127 + errorMessage: UNTAGGED_INVALID_ENCAPSULATION + details: encapsulation.type + - errorCode: EQ-3143128 + errorMessage: UNTAGGED_REDUNDANT + details: redundancy.priority + - errorCode: EQ-3143129 + errorMessage: UNTAGGED_LAG + details: lagEnabled + - errorCode: EQ-3143130 + errorMessage: UNTAGGED_SHARED + details: settings.sharedPortType + - errorCode: EQ-3143131 + errorMessage: UNTAGGED_TPID + details: encapsulation.tagProtocolId + - errorCode: EQ-3143132 + errorMessage: PHYSICAL_PORTS_SPEED_NOT_AVAILABLE + details: physicalPortsSpeed + - errorCode: EQ-3143133 + errorMessage: Invalid A side ibx in MC order payload + details: ibx + - errorCode: EQ-3143134 + errorMessage: Invalid Z side ibx in MC order payload + details: ibx + - errorCode: EQ-3143135 + errorMessage: LAG_PORT_WITHOUT_LAG + details: lagPort + - errorCode: EQ-3143136 + errorMessage: LAG_WITH_WITHOUT_LAG + details: lag.type + - errorCode: EQ-3143137 + errorMessage: ORDER_NOT_BELONG_TO_USER + - errorCode: EQ-3143138 + errorMessage: ORDER_NOT_FOUND + port-500: + value: + - errorCode: EQ-3143001 + errorMessage: Please contact support@equinix.com for more info + - errorCode: EQ-3143002 + errorMessage: Invalid response from order service + - errorCode: EQ-3143003 + errorMessage: Invalid argument value passed + - errorCode: EQ-3143004 + errorMessage: Json syntax error, please check request body + - errorCode: EQ-3143005 + errorMessage: Invalid argument passed + - errorCode: EQ-3143006 + errorMessage: Method not supported, Please check the URL passed + - errorCode: EQ-3143008 + errorMessage: virtual Port not found + details: connectionDetails[%s].patchPanelName is not valid + COLOBulkPort: + value: + data: + - type: XF_PORT + name: L2-DEV-USER01-CX-10G-PRIMARY + description: Test Redundant port in Amsterdam + physicalPortsSpeed: 10000 + location: + metroCode: AM + demarcationPointIbx: AM1 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + redundancy: + priority: PRIMARY + physicalPorts: + - demarcationPoint: + ibx: AM1 + cabinet: AM1:02:032575:0105 + cage: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + - type: XF_PORT + name: L2-DEV-USER01-CX-10G-SECONDARY + description: Test Redundant port in Amsterdam + physicalPortsSpeed: 10000 + location: + metroCode: AM + demarcationPointIbx: AM1 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + redundancy: + priority: SECONDARY + physicalPorts: + - demarcationPoint: + ibx: AM1 + cabinet: AM1:02:032575:0105 + cage: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + COLOBulkPortResponse: + value: + data: + - href: http://qa3api.corp.equinix.com/fabric/v4/ports/a6f77b33-96c6-4eeb-8d79-76374d950603 + uuid: a6f77b33-96c6-4eeb-8d79-76374d950603 + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + physicalPortsCount: 1 + connectivitySourceType: COLO + state: PENDING + order: + orderNumber: 1-210210611704 + account: + accountNumber: 270848 + changelog: + createdBy: "907831" + createdDateTime: 2023-06-02T22:25:52.206Z + location: + metroCode: GV + demarcationPointIbx: GV1 + redundancy: + group: 22f8e668-4754-4564-825d-d1c7889c885a + priority: PRIMARY + lagEnabled: false + settings: + sharedPortType: false + packageType: STANDARD + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - href: http://qa3api.corp.equinix.com/fabric/v4/ports/22f8e668-4754-4564-825d-d1c7889c885a + uuid: 22f8e668-4754-4564-825d-d1c7889c885a + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + physicalPortsCount: 1 + connectivitySourceType: COLO + state: PENDING + order: + orderNumber: 1-210210611704 + account: + accountNumber: 270848 + changelog: + createdBy: "907831" + createdDateTime: 2023-06-02T22:25:52.206Z + location: + metroCode: GV + demarcationPointIbx: GV1 + redundancy: + group: a6f77b33-96c6-4eeb-8d79-76374d950603 + priority: SECONDARY + lagEnabled: false + settings: + sharedPortType: false + packageType: STANDARD + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + COLOAddToLag: + value: + data: + - type: XF_PHYSICAL_PORT + demarcationPoint: + ibx: AM1 + cabinetUniqueSpaceId: AM1:02:032575:0105 + cageUniqueSpaceId: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + account: + accountNumber: 17829 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + - type: XF_PHYSICAL_PORT + account: + accountNumber: 17829 + demarcationPoint: + ibx: AM1 + cabinetUniqueSpaceId: AM1:02:032575:0105 + cageUniqueSpaceId: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 16 + patchPanelPortB: 17 + connectorType: LC + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + REMOTEAddToLag: + value: + data: + - type: XF_PHYSICAL_PORT + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + account: + accountReferenceId: 17829Id + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + - type: XF_PHYSICAL_PORT + account: + accountReferenceId: 17829Id + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + BMMRAddToLag: + value: + data: + - type: XF_PHYSICAL_PORT + account: + accountNumber: 17829 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + - type: XF_PHYSICAL_PORT + account: + accountNumber: 17829 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + COLOAddToLagResponse: + value: + data: + - type: XF_PHYSICAL_PORT + demarcationPoint: + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + patchPanelPortA: "39" + patchPanelPortB: "40" + connectorType: SC + ibx: GV1 + order: + orderNumber: 1-210210611904 + - type: XF_PHYSICAL_PORT + demarcationPoint: + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + patchPanelPortA: "41" + patchPanelPortB: "42" + connectorType: SC + ibx: GV1 + order: + orderNumber: 1-210210611904 + portByUUID: + value: + href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d + type: XF_PORT + uuid: e91484bb-4f65-4ab3-8f77-500dec2f855d + name: test-AT1-Dot1q-L-Secondary-108608 + state: ACTIVE + cvpId: "108608" + bandwidth: 10000 + usedBandwidth: 0 + availableBandwidth: 20000 + redundancy: + group: "1" + priority: Secondary + location: + metroHref: https://api.equinix.com/fabric/v4/metros/AT + ibx: AT1 + metroCode: AT + metroName: Atlanta + region: AMER + device: + name: dev-m7a2.lab + redundancy: + group: "1" + priority: Secondary + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + lagEnabled: true + lag: + enabled: true + settings: + buyout: false + placeVcOrderPermission: true + viewPortPermission: true + physicalPorts: + - state: PROVISIONED + type: XF_PHYSICAL_PORT + id: 6967 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + demarcationPoint: + ibx: AT1 + patchPanel: PP:8118:1586 + patchPanelName: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + operation: + operationalStatus: UP + - state: PROVISIONED + type: XF_PHYSICAL_PORT + id: 6968 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + operation: + operationalStatus: UP + operation: + operationalStatus: UP + opStatusChangedAt: 2021-06-14T17:21:25.586Z + connectionCount: 0 + account: + accountNumber: "100179" + accountName: L2 + globalCustId: 007700000090982RG8 + orgId: "100179" + organizationName: Cust_Org_100179 + changeLog: + createdDateTime: 2018-06-14T17:21:25.587Z + portDelete: + value: + href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d + type: XF_PORT + uuid: e91484bb-4f65-4ab3-8f77-500dec2f855d + name: test-AT1-Dot1q-L-Secondary-108608 + state: DEPROVISIONING + bandwidth: 10000 + usedBandwidth: 0 + availableBandwidth: 20000 + redundancy: + group: C91484bb-4f65-4ab3-8f77-500dec2f855C + priority: PRIMARY + location: + metroHref: https://api.equinix.com/fabric/v4/metros/AT + ibx: AT1 + metroCode: AT + metroName: Atlanta + region: AMER + device: + name: dev-m7a2.lab + redundancy: + group: C91484bb-4f65-4ab3-8f77-500dec2f855C + priority: PRIMARY + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + lagEnabled: true + lag: + enabled: true + settings: + buyout: false + placeVcOrderPermission: true + viewPortPermission: true + physicalPorts: + - state: DEPROVISIONING + type: XF_PHYSICAL_PORT + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + demarcationPoint: + ibx: AT1 + patchPanel: PP:8118:1586 + patchPanelName: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + account: + accountNumber: 100179 + accountName: L2 account + globalCustId: 007700000090982RG8 + orgId: 100179 + organizationName: Cust_Org_100179 + changeLog: + createdDateTime: 2018-06-14T17:21:25.587Z + LinkProtocolGetQinqResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 5 + data: + - type: QINQ + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + asset: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + asset: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanSTag: 1001 + vlanCTag: 1001 + asset: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + LinkProtocolGetDot1qResponseExample: + value: + pagination: + offset: 5 + limit: 20 + total: 40 + next: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20, + previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + data: + - type: DOT1Q + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanTag: 200 + asset: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanTag: 257 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanTag: 250 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanTag: 240 + asset: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanTag: 240 + asset: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + LinkProtocolGetVlanRangeResponseExample: + value: + pagination: + offset: 5 + limit: 20 + total: 40 + next: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20, + previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + data: + - type: DOT1Q + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + asset: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + asset: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + asset: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + 400_invalid_portId: + value: + - errorCode: EQ-3035202 + errorMessage: Unable to fetch port details + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: The uuid requested could not be found in system. Please try again after sometime + additionalInfo: + property: portUuid + 403-port-access: + value: + - errorCode: EQ-3035002 + errorMessage: Access Forbidden + correlationId: UnAuthorized User- Cannot perform action + PortSearchByProjectId: + value: + filter: + or: + - and: + - operator: = + property: /project/projectId + values: + - 30ad25e2-53dc-11ed-bdc3-0242ac120002 + - operator: = + property: /state + values: + - ACTIVE + - operator: = + property: /settings/productCode + values: + - CX + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /device/name + direction: DESC + ConnectionRouteFiltersGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/52f7791a-fe90-49bc-8807-18b3d6eda566 + type: BGP_IPv6_PREFIX_FILTER + uuid: 52f7791a-fe90-49bc-8807-18b3d6eda566 + attachmentStatus: ATTACHED + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + type: BGP_IPv4_PREFIX_FILTER + uuid: 8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + attachmentStatus: ATTACHED + direction: OUTBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/65d74639-8f48-4e10-9684-45d364645e97 + type: BGP_IPv6_PREFIX_FILTER + uuid: 65d74639-8f48-4e10-9684-45d364645e97 + attachmentStatus: ATTACHED + direction: OUTBOUND + 400_invalid_input: + value: + - errorCode: EQ-3044101 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: type + AttachConnectionRouteFiltersResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: ATTACHING + direction: INBOUND + AttachConnectionRouteFilterInbound: + value: + direction: INBOUND + AttachConnectionRouteFilterOutbound: + value: + direction: OUTBOUND + 400_invalid_direction: + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: direction + 400_transient_state: + value: + - errorCode: EQ-3044008 + errorMessage: Cannot attach or detach Route Filter with Connection in transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot attach or detach Route Filter with Connection in transient state + DetachConnectionRouteFilterInboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + DetachConnectionRouteFilterOutboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: OUTBOUND + RouteFilterCreateBgpIpv4Prefix: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + notifications: + type: ALL + emails: + - test@equinix.com + RouteFilterCreateBgpIpv6Prefix: + value: + type: BGP_IPv6_PREFIX_FILTER + name: My-route-filter-v6 + description: Test filter + project: + projectId: 567 + RouteFilterCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/c2ec84c5-6de6-4f5c-b506-3ce218630c31 + type: BGP_IPv4_PREFIX_FILTER_DELETION + uuid: c2ec84c5-6de6-4f5c-b506-3ce218630c31 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_attached_connection: + value: + - errorCode: EQ-3044007 + errorMessage: Cannot delete Route Filter still attached to a Connection + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter still attached to a Connection + PatchRouteFilterName: + value: + - op: replace + path: /name + value: My-route-filter-v4-updated + RouteFilterNamePatchResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-updated + description: Test filter + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + 400_invalid_operation: + value: + - errorCode: EQ-3044011 + errorMessage: Invalid Argument passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Only replace name operation is supported. + RouteFilterGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /name + value: My-route-filter-v4-updated + previousValue: My-route-filter-v4 + RouteFilterGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + RouteFilterGetConnectionsResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + next: null + previous: null + data: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: IP_VC + name: test-connection + uuid: 05de355a-6c9d-4636-8d7d-7b7595821c15 + SearchRouteFiltersRequest: + value: + filter: + and: + - property: /type + operator: = + values: + - BGP_IPv4_PREFIX_FILTER + - property: /name + operator: like + values: + - "%Route_Filter_Demo%" + - property: /project/projectId + operator: = + values: + - dadd3ab6-c0af-430c-8216-43d44f08c1c5 + pagination: + offset: 1 + limit: 2 + total: 10 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + SearchRouteFiltersResponse: + value: + pagination: + offset: 1 + limit: 2 + total: 10 + next: /routeFilters?offset=3&limit=2 + previous: /routeFilters?offset=0&limit=2 + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My_Route_Filter_Demo_1 + description: Test filter + state: PROVISIONING + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/795a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My_Route_Filter_Demo_2 + description: Test filter + state: PROVISIONING + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterRulesGetAll: + value: + pagination: + offset: 0 + limit: 32 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + state: PROVISIONED + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + state: PROVISIONED + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleCreateBgpIpv4Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + RouteFilterRuleCreateBgpIpv6Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: orlonger + RouteFilterRuleCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + state: PROVISIONING + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleCreateBgpIpv6PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv6_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv6_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + 400_bad_request: + value: + - errorCode: EQ-3044013 + errorMessage: Invalid argument value passed + property: prefixMatch + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + UpdateRouteFilterRuleIPv4: + value: + name: Private-subnet-filter-update + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + UpdateRouteFilterRuleIPv6: + value: + name: Private-subnet-filter-update + description: Test rule + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: exact + RouteFilterRuleReplaceIpv4Response: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter-update + description: Test rule + prefixMatch: exact + state: REPROVISIONING + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 192.168.0.0/24 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleReplaceIpv6Response: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv6_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter-update + description: Test rule + prefixMatch: exact + state: REPROVISIONING + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 2001:7a9::34f4:0:f3dd:1/128 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv4_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv6PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv6_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv6_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_transient_filter: + value: + - errorCode: EQ-3044215 + errorMessage: Cannot delete Route Filter Rule, Route Filter transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter Rule, Route filter is in transient state + PatchRouteFilterRuleName: + value: + - op: replace + path: /name + value: test-route-filter-name-patch + PatchRouteFilterRulePrefix: + value: + - op: replace + path: /prefix + value: 192.168.0.0/30 + PatchRouteFilterRulePrefixMatch: + value: + - op: replace + path: /prefixMatch + value: orlonger + RouteFilterRulesGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 3 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMatch: exact + action: PERMIT + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a40085a4-f0cc-416c-af01-286f7f7ec736 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a40085a4-f0cc-416c-af01-286f7f7ec736 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: orlonger + previousValue: exact + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: exact + previousValue: orlonger + RouteFilterRuleGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMatch: exact + action: PERMIT + RouteFilterRulesBulkResponse: + value: + pagination: + offset: 0 + limit: 32 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + CreateLabPackage: + value: + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: SV + package: + code: LAB + notifications: + - type: ALL + emails: + - test@test.com + account: + accountNumber: 272010 + project: + projectId: "995072000433550" + CreateStandardPackage: + value: + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: SV + package: + code: STANDARD + notifications: + - type: ALL + emails: + - test@test.com + account: + accountNumber: 272010 + project: + projectId: "995072000433550" + CloudRouterPostResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "12345" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 0 + bgpIpv6RoutesCount: 0 + connectionsCount: 0 + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + 400_invalid_package: + value: + - errorCode: EQ-3040028 + errorMessage: Package not found + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: package must be of type LAB or PRO + CloudRouterResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 4 + bgpIpv6RoutesCount: 4 + distinctIpv4PrefixesCount: 2 + distinctIpv6PrefixesCount: 2 + connectionsCount: 0 + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-09-24T06:59:46Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-09-24T06:59:46Z + 400_invalid_state: + value: + - errorCode: EQ-3040030 + errorMessage: Cannot delete Fabric Cloud Router in transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Fabric Cloud Router in transient state. + UpdatePackage: + value: + - op: replace + path: /package/code + value: PREMIUM + UpdateName: + value: + - op: replace + path: /name + value: Router-name-2 + UpdateNotifications: + value: + - op: replace + path: /notifications + value: + - type: ALL + emails: + - testEmail1@equinix.com + - testEmail2@equinix.com + CloudRouterPatchResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 0 + bgpIpv6RoutesCount: 0 + connectionsCount: 0 + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTER_UPDATE + status: REQUESTED + createdDateTime: 2022-04-19T04:20:55.471Z + updatedDateTime: 2022-04-19T04:20:55.471Z + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-09-24T06:59:46Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-09-24T06:59:46Z + CloudRouterActionResponse: + value: + type: ROUTE_TABLE_ENTRY_UPDATE + uuid: 37c10edc-ba2e-4240-a850-8a48f9c47d00 + state: PENDING + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + RouteEntriesStatusUpdate: + value: + type: ROUTE_TABLE_ENTRY_UPDATE + SearchFilterByNextHop: + value: + filter: + and: + - property: /nextHop + operator: = + values: + - 67.2223.179.193 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterByPrefix: + value: + filter: + and: + - property: /prefix + operator: = + values: + - 10.203.1.0/30 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterByType: + value: + filter: + and: + - property: /type + operator: = + values: + - IPv4_BGP_ROUTE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterByStatus: + value: + filter: + and: + - property: /state + operator: = + values: + - ACTIVE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterOrAnd: + value: + filter: + and: + - or: + - property: /type + operator: LIKE + values: + - IPv4_BGP_ROUTE + - property: /type + operator: LIKE + values: + - abc + 400_invalid_sorting: + value: + - errorCode: EQ-3043015 + errorMessage: Invalid value for sorting direction. + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - reason: Only accept DESC and ASC for sorting direction. + Request-direct-ipv4: + value: + filter: + and: + - property: /directIpv4/equinixIfaceIp + operator: = + values: + - 10.1.1.1/30 + - property: /connection/uuid + operator: = + values: + - a96f16d3-e504-44a7-a628-4916b5750008 + Request-direct-ipv6: + value: + filter: + and: + - property: /directIpv6/equinixIfaceIp + operator: = + values: + - 1202:ABCD::20:1::11/30 + - property: /connection/uuid + operator: = + values: + - a96f16d3-e504-44a7-a628-4916b5750008 + Response-200: + value: + additionalInfo: + - key: message + value: The provided subnet is valid. + error-400: + value: + - errorCode: EQ-2041022 + errorMessage: Invalid argument value passed. + correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 + error-400-overlappingSubnet: + value: + - errorCode: EQ-2041022 + errorMessage: The provided subnet is not valid. + details: The provided subnet is overlapping with other connections in the same Fabric Cloud Router. + correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 + SearchFilterByNameAndMetroName: + value: + filter: + and: + - property: /name + operator: = + values: + - test-fg + - property: /metroName + operator: LIKE + values: + - Si% + - property: /project/projectId + operator: = + values: + - "995072000433550" + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + search-example: + value: + pagination: + offset: 20 + limit: 20 + total: 100 + next: /search?offset=40&limit=20 + previous: /search?offset=0&limit=20 + data: + - href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 0 + bgpIpv6RoutesCount: 0 + connectionsCount: 0 + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-09-24T06:59:46Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-09-24T06:59:46Z + ListFCRPackagesResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + data: + - href: https://api.equinix.com/fabric/v4/routerPackages/LAB + type: ROUTER_PACKAGE + code: LAB + description: string + totalIPv4RoutesMax: 50 + totalIPv6RoutesMax: 50 + staticIPv4RoutesMax: 3 + staticIPv6RoutesMax: 3 + naclsMax: 2 + naclRulesMax: 5 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 50 + changeLog: + createdDateTime: 2022-02-10T00:14:47Z + updatedDateTime: 2022-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/STANDARD + type: ROUTER_PACKAGE + code: STANDARD + description: string + totalIPv4RoutesMax: 1000 + totalIPv6RoutesMax: 100 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 10000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/ADVANCED + type: ROUTER_PACKAGE + code: ADVANCED + description: string + totalIPv4RoutesMax: 4000 + totalIPv6RoutesMax: 250 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 99999 + crCountMax: 3 + vcBandwidthMax: 50000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/PREMIUM + type: ROUTER_PACKAGE + code: PREMIUM + description: string + totalIPv4RoutesMax: 10000 + totalIPv6RoutesMax: 500 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 50000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z + healthResponse: + value: + href: null + version: "4.4" + release: 2022.4.0 + description: Equinix Fabric Health Check API + state: HEALTHY + apiServices: + - route: /prices + status: UP + changedDateTime: 2022-10-03T18:37:54.760+00:00 + - route: /connections + status: UP + changedDateTime: 2022-10-03T18:37:56.818+00:00 + - route: /ports + status: UP + changedDateTime: 2022-10-03T18:37:56.886+00:00 + - route: /serviceTokens + status: UP + changedDateTime: 2022-10-03T18:37:56.919+00:00 + - route: /stats + status: UP + changedDateTime: 2022-10-03T18:37:56.951+00:00 + - route: /routers + status: UP + changedDateTime: 2022-10-03T18:37:57.271+00:00 + - route: /serviceProfiles + status: UP + changedDateTime: 2022-10-03T18:38:01.298+00:00 + Request_Alibaba: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - San Jose 2 + Request_AWS: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - us-west-1 + Request_Azure: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + Request_Google: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx/xxx/x + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - us-west-1 + Request_IBM_1: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - San Jose 2 + Request_IBM_2: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - San Jose 2 + Request_Oracle: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - us-ashburn-1 + Dot1q_Vlan: + value: + filter: + and: + - property: /zSide/accessPoint/port/uuid + operator: = + values: + - 77b1b527-1a0f-42eb-9173-6d91723556b8 + - property: /zSide/accessPoint/linkProtocol/vlanTag + operator: = + values: + - "155" + Qinq_Vlan: + value: + filter: + and: + - property: /zSide/accessPoint/port/uuid + operator: = + values: + - 77b1b527-1a0f-42eb-9173-6d91723556b8 + - property: /zSide/accessPoint/linkProtocol/vlanSTag + operator: = + values: + - "155" + - property: /zSide/accessPoint/linkProtocol/vlanCTag + operator: = + values: + - "156" + Response-Alibaba: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-Aws: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-Azure-no-existing-connections: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 50 + redundancy: + priority: PRIMARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-1 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-2 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: PRIMARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-3 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-4 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Azure-1-existing-Dot1q-connection: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 50 + redundancy: + priority: PRIMARY + aside: + accessPoint: + type: COLO + linkProtocol: + type: DOT1Q + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-1 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: COLO + linkProtocol: + type: DOT1Q + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-2 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: COLO + linkProtocol: + type: DOT1Q + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-3 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Azure-1-existing-Qinq-connection: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 500 + redundancy: + priority: PRIMARY + aside: + accessPoint: + type: VD + linkProtocol: + type: QINQ + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-1 + location: + metroCode: SV + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Azure-2-existing-Dot1q-connections: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: CLOUD_ROUTER + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-2 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: CLOUD_ROUTER + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-3 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Google: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-IBM-1: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-IBM-2: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-Oracle: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 1000 + Response-Dot1q-Vlan: + value: + additionalInfo: + - key: message + value: vlanTag(s) provided is available + Response-Qinq-Vlan: + value: + additionalInfo: + - key: message + value: vlanTag(s) provided is available + ConnectionEvent: + value: + pagination: + offset: 20 + limit: 10 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/events/4362dbd4-0118-445c-9542-82a35a1a4c70 + type: TRANSACTION_STATUS_AUDIT + uuid: 4362dbd4-0118-445c-9542-82a35a1a4c70 + createdDateTime: 2022-02-03 15:06:09.16835 + additionalInfo: + - key: correlationId + value: testSp + connection: + href: https://api.equinix.com/fabric/v4/connections/f372169c-3e19-413a-849f-7ecc7fc536d7 + type: EVPL_VC + uuid: f372169c-3e19-413a-849f-7ecc7fc536d7 + name: test_connection + transaction: + type: ASSET_CREATION + state: INITIATED + initatedDateTime: 2022-02-03 15:06:09.16835 + duration: PT0S + durationSlo: PT2M20S + stage: + external: true + type: CONNECTION_REQUEST_VALIDATOR + state: INITIATED + initiatedDateTime: 2022-02-03 15:06:09.16835 + completedDateTime: 2022-02-03 15:06:09.16845 + duration: PT10S + durationSlo: PT0S + - href: https://api.equinix.com/fabric/v4/events/4362dbd4-0118-445c-9542-82a35a1a4c70 + type: TRANSACTION_STATUS_AUDIT + uuid: 4362dbd4-0118-445c-9542-82a35a1a4c70 + createdDateTime: 2022-02-03 15:06:09.16835 + additionalInfo: + - key: correlationId + value: testSp + connection: + href: https://api.equinix.com/fabric/v4/connections/f372169c-3e19-413a-849f-7ecc7fc536d7 + type: EVPL_VC + uuid: f372169c-3e19-413a-849f-7ecc7fc536d7 + name: test_connection + transaction: + type: ASSET_CREATION + state: FAILED + initatedDateTime: 2022-02-03 15:06:09.16835 + duration: PT0S + durationSlo: PT2M20S + stage: + external: true + type: CONNECTION_REQUEST_VALIDATOR + state: FAILED + initiatedDateTime: 2022-02-03 15:06:09.16835 + completedDateTime: 2022-02-03 15:06:09.16845 + duration: PT10S + durationSlo: PT0S + errors: + - errorCode: EQ-3142532 + errorMessage: Token with Invalid Status to create connection, Please enter valid ServiceToken + details: Please enter valid ServiceToken UUID. + RoutingProtocolOperationStatusEvent: + value: + pagination: + offset: 10 + limit: 10 + total: 100 + data: + - createdDateTime: 2023-04-01T10:30:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e1 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e1 + type: RP_OPSTATUS_NOTIFICATION + subType: BGP_IPV4_STATE_CHANGE + severity: 5 + message: Neighbor 64.233.197.44 address session state changed to Established + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:29:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e2 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e2 + type: RP_OPSTATUS_NOTIFICATION + subType: BGP_IPV4_ADMIN_ENABLE + severity: 6 + message: Neighbor 64.233.197.44 Administrative Enable successful + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:28:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e3 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e3 + type: RP_OPSTATUS_NOTIFICATION + subType: BGP_IPV4_NEIGHBOR_RESET + severity: 6 + message: Neighbor 64.233.197.44 Administrative Reset successful + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:27:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e4 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e4 + type: RP_CONFIG_NOTIFICATION + subType: BGP_IPV4_CONFIG + severity: 6 + message: Neighbor 64.233.197.44 configuration successful + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + RoutesQuotaEvent: + value: + pagination: + offset: 10 + limit: 10 + total: 100 + data: + - createdDateTime: 2023-04-01T10:30:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e1 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e1 + type: RP_CONFIG_NOTIFICATION + subType: CLOUD_ROUTER_IPV4_ROUTE_USAGE_REACHED_LIMIT + severity: 2 + message: The Fabric Cloud Router my-fcr-1, UUID :422504a4-286d-44e7-b386-8e385d2e99e1 has reached 100% of the IPv4 maximum routes quota. Avoid a network impact by upgrading the Fabric Cloud Router package. + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:30:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e1 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e1 + type: RP_CONFIG_NOTIFICATION + subType: CLOUD_ROUTER_IPV4_ROUTE_USAGE_REACHED_THRESHOLD + severity: 4 + message: The Fabric Cloud Router my-fcr-1, UUID :422504a4-286d-44e7-b386-8e385d2e99e1 has reached 90% of the IPv4 maximum routes quota. Avoid a network impact by upgrading the Fabric Cloud Router package. + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + CreateGlobalNetwork: + value: + type: EVPLAN + name: My-Network-1 + scope: GLOBAL + project: + projectId: "1234567" + notifications: + - type: ALL + emails: + - test@equinix.com + CreateRegionalNetwork: + value: + type: EVPLAN + name: My-Network-1 + scope: REGIONAL + location: + region: EMEA + project: + projectId: "1234567" + notifications: + - type: ALL + emails: + - test@equinix.com + CreateLocalNetwork: + value: + type: EVPLAN + name: My-Network-1 + scope: LOCAL + project: + projectId: "1234567" + notifications: + - type: ALL + emails: + - test@equinix.com + NetworkPostResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: INACTIVE + change: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/changes/6d500177-9404-41f2-99e8-2bf1a84d8db5 + uuid: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + type: NETWORK_CREATION + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONING + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + NetworkGetResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: ACTIVE + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONED + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + links: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + rel: getConnectionsByNetworkUuid + method: GET + contentType: application/json + authenticate: true + NetworkDeleteResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: INACTIVE + change: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/changes/6d500177-9404-41f2-99e8-2bf1a84d8db5 + uuid: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + type: NETWORK_DELETION + location: + region: EMEA + scope: REGIONAL + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: DEPROVISIONING + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser1 + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + deletedBy: testuser1 + deletedDateTime: 2020-05-21T10:30:00Z + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + UpdateNetworkName: + value: + - op: replace + path: /name + value: NewName + UpdateNetworkNotifications: + value: + - op: replace + path: /notifications + value: + - type: ALL + emails: + - test1@test.com + - test2@test.com + NetworkPatchResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: ACTIVE + change: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/changes/6d500177-9404-41f2-99e8-2bf1a84d8db5 + uuid: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + type: NETWORK_UPDATE + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONED + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + links: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + rel: getConnectionsByNetworkUuid + method: GET + contentType: application/json + authenticate: true + NetworkSearchResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + platformUuid: 19dc376a-a932-43aa-a6a2-c806dedbd730 + name: My-EVPLAN-1 + state: ACTIVE + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONED + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser1 + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + links: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + rel: getConnectionsByNetworkUuid + method: GET + contentType: application/json + authenticate: true + sort: + - property: /changeLog/updatedDateTime + direction: DESC + GetNetworkConnectionExample: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: IP_VC + uuid: 9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81 + - href: https://api.equinix.com/fabric/v4/connections/38a1eb68-4daf-4ef0-bd7f-6970727b6fc1 + type: IP_VC + uuid: 38a1eb68-4daf-4ef0-bd7f-6970727b6fc1 + 400_invalid_uuid: + value: + - errorCode: EQ-3152004 + errorMessage: Invalid inlput + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Network does not exists with gievn uuid + NetworkChangeResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: NETWORK_CREATION + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + - href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/da2a2f1b-9ba0-415b-85d6-234bd4c737ec + type: NETWORK_DELETION + uuid: da2a2f1b-9ba0-415b-85d6-234bd4c737ec + status: REQUESTED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + NetworkGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: NETWORK_CREATION + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + ntpStandardCreateResponse: + value: + href: https://api.equinix.com/fabric/v4/timeServices/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + name: EPT-Single-Service + type: NTP + state: PROVISIONING + connections: + - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: EVPL_VC + uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + code: NTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + account: + accountNumber: 123456 + 400-Mandatory-Name: + value: + - errorCode: EQ-4800011 + errorMessage: Validation Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: /package/protocol + reason: Mandatory field is missing + 400-Invalid-Name: + value: + - errorCode: EQ-4800010 + errorMessage: Validation Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: /name + reason: Invalid name + 400-Validate-Name: + value: + - errorCode: EQ-4800100 + errorMessage: Validation Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: /name + reason: The name length should be 3 as minimum. The name should start with characters. Valid characters for a name include letters, numbers, dashes, and underscores + 400-Duplicate-Name: + value: + - errorCode: EQ-4800101 + errorMessage: Service name is already in use + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-ConnectionUUid: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field ConnectionUUid is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-ConnectionUuid-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid connection uuid format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-Status: + value: + - errorCode: EQ-4800102 + errorMessage: Connection should be in Pending Approval state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-ConnectionUuid: + value: + - errorCode: EQ-4800103 + errorMessage: Connection does not belong to this user + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-Location: + value: + - errorCode: EQ-4800104 + errorMessage: Connection location is not supported by EPT + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-PackageType: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field Package Type is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-PackageType: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Package Type - Allowed types are PTP, NTP + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-PackageType: + value: + - errorCode: EQ-4800105 + errorMessage: Connection Package type is different + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-Package: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field Package is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Package: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Package - Allowed packages are STANDARD, ENTERPRISE + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-Package: + value: + - errorCode: EQ-4800106 + errorMessage: Connection Package is different + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-PrimaryIP: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field PrimaryIP is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-PrimaryIP-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid PrimaryIP format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-PrimaryIP: + value: + - errorCode: EQ-4800107 + errorMessage: Invalid PrimaryIP - only range 10.0.0.0 to 10.255.255.255, 172.16.0.0 to 172.31.255.255, 192.168.0.0 to 192.168.255.255 is allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-SecondaryIP: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field SecondaryIP is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-SecondaryIP-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid SecondaryIP format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-SecondaryIP: + value: + - errorCode: EQ-4800107 + errorMessage: Invalid SecondaryIP - only range 10.0.0.0 to 10.255.255.255, 172.16.0.0 to 172.31.255.255, 192.168.0.0 to 192.168.255.255 is allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-SameSubnet: + value: + - errorCode: EQ-4800108 + errorMessage: Primary and Secondary IPs should be in the same subnet + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-NetworkMask: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field NetworkMask is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-NetworkMask-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid NetworkMask format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-NetworkMask: + value: + - errorCode: EQ-4800109 + errorMessage: Invalid NetworkMask - Network mask should not exceed the allowed range of protocol and service tier + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-DefaultGateway-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid DefaultGateway + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-DefaultGateway: + value: + - errorCode: EQ-4800110 + errorMessage: Invalid DefaultGateway- Default Gateway cannot be same as Primary/Secondary IP + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-TimeScale: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid TimeScale - Allowed values are ARB, PTP + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Domain: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Domain- Allowed values are from 0 to 127 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Priority1: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Priority1 - Allowed values are 0 to 248 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Priority2: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Priority2 - Allowed values are 0 to 248 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-LogAnnounceInterval: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid LogAnnounceInterval + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-LogAnnounceInterval-Range: + value: + - errorCode: EQ-4800111 + errorMessage: Invalid LogAnnounceInterval range - Allowed range is -3 to 1 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-LogSyncInterval: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid LogSyncInterval + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-LogSyncInterval-Range: + value: + - errorCode: EQ-4800112 + errorMessage: Invalid LogSyncInterval range - Allowed range is -5 to 1 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-LogDelayReqInterval: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid logDelayReqInterval + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-LogDelayReqInterval-Range: + value: + - errorCode: EQ-4800112 + errorMessage: Invalid logDelayReqInterval range - Allowed range is -5 to 1 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-TransportMode: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid TransportMode - Allowed values are Multicast, Unicast, Hybrid + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-GrantTime: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid GrantTime + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-GrantTime-Range: + value: + - errorCode: EQ-4800113 + errorMessage: Invalid GrantTime range - Allowed range is 30 to 7200 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Type: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Type - Allowed values are ASCII, HEX + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Id: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Id - Only Integers are allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Password: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Password + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-Password: + value: + - errorCode: EQ-4800114 + errorMessage: Only HEX allowed, chars value length should between 10 - 40 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + edit: + value: + - op: replace + path: /name + value: EPT-Single-Service + ntpSingleStandard: + value: + name: EPT-Single-Service + type: NTP + connections: + - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + code: NTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + ptpSingleStandard: + value: + name: EPT-Single-Service + type: PTP + connections: + - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + code: PTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + ptpSingleEnterpriseWithAdvanceConfiguration: + value: + name: EPT-Single-Service + type: PTP + connections: + - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + code: PTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + advanceConfiguration: + ptp: + tailScale: true + domain: 10 + priority1: 5 + priority2: 7 + logAnnounceInterval: 0 + logSyncInterval: 0 + logDelayReqInterval: 0 + serviceConnectionsResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPL_VC + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + - href: https://api.equinix.com/fabric/v4/connections/42dc376a-a932-43aa-a6a2-d806dedbd783 + type: EVPL_VC + uuid: 42dc376a-a932-43aa-a6a2-d806dedbd783 + servicePackagesResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + data: + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + code: NTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 1 + clientsPerSecondMax: 2000 + accuracyUnit: microseconds + accuracySla: -1 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE + code: NTP_ENTERPRISE + type: TIME_SERVICE_PACKAGE + bandwidth: 5 + clientsPerSecondMax: 1000 + accuracyUnit: microseconds + accuracySla: -1 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD + code: PTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 5 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_ENTERPRISE + code: PTP_ENTERPRISE + type: TIME_SERVICE_PACKAGE + bandwidth: 10 + clientsPerSecondMax: 20 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + servicePackageResponse: + value: + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + code: NTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 10 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + get-all-example: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - uuid: d684aa26-8276-48b7-bb42-a6d9def0a418 + href: https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418 + type: CLOUDEVENT_SUBSCRIPTION + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + changelog: + createdDateTime: 2024-05-06T16:21:18.545214Z + CloudeventSubscriptionPostRequestExample: + value: + type: CLOUDEVENT_SUBSCRIPTION + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + CloudeventSubscriptionResponseExample: + value: + uuid: d684aa26-8276-48b7-bb42-a6d9def0a418 + href: https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418 + type: CLOUDEVENT_SUBSCRIPTION + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + changelog: + createdDateTime: 2024-05-06T16:21:18.545214Z + CloudeventSubscriptionPutRequestExample: + value: + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + headers: + ETag: + description: response header - identifier for a specific version of a resource. + schema: + type: string + securitySchemes: + BearerAuth: + type: http + scheme: bearer + bearerFormat: JWT \ No newline at end of file diff --git a/spec/services/fabricv4/oas3.patched/swagger.yaml b/spec/services/fabricv4/oas3.patched/swagger.yaml new file mode 100644 index 00000000..3af66245 --- /dev/null +++ b/spec/services/fabricv4/oas3.patched/swagger.yaml @@ -0,0 +1,25942 @@ +openapi: 3.0.3 +info: + title: Equinix Fabric API v4 + description: 'Equinix Fabric is an advanced software-defined interconnection solution that enables you to directly, securely and dynamically connect to distributed infrastructure and digital ecosystems on platform Equinix via a single port, Customers can use Fabric to connect to:
1. Cloud Service Providers - Clouds, network and other service providers.
2. Enterprises - Other Equinix customers, vendors and partners.
3. Myself - Another customer instance deployed at Equinix.

Integrations (SDKs, Tools) links:
Fabric Java SDK
Fabric Go SDK
Equinix Terraform Provider
Fabric Terraform Modules
Equinix Pulumi Provider
' + termsOfService: https://www.equinix.com/about/legal/terms + contact: + name: Equinix API Support + url: https://equinix.com/about/ + email: api-support@equinix.com + license: + name: Equinix Inc + url: https://developer.equinix.com/agreement + version: '4.14' +externalDocs: + description: Find more information on Equinix Developer Portal + url: https://developer.equinix.com +servers: + - url: https://api.equinix.com + description: Equinix Inc +security: + - BearerAuth: [] +tags: + - name: Cloud Routers + description: Cloud Routers Preview + - name: Connections + description: Connections + - name: Metros + description: Metros + - name: Ports + description: Ports + - name: Precision Time + description: Precision Time Preview + - name: Prices + description: Prices + - name: Routing Protocols + description: Routing Protocols + - name: Service Profiles + description: Service Profiles + - name: Service Tokens + description: Service Tokens + - name: Statistics + description: Statistics +paths: + /fabric/v4/connections: + post: + tags: + - Connections + summary: Create Connection + description: This API provides capability to create user's virtual connection + operationId: createConnection + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionPostRequest" + examples: + Colo2Colo-Dot1q2Dot1q: + $ref: "#/components/examples/COLO2COLOwithDot1q-Dot1q" + Colo2Colo-Dot1q2Dot1q-CRH: + $ref: "#/components/examples/COLO2COLOwithDot1q-Dot1q-CRH" + Colo2Colo-Dot1q2Qinq: + $ref: "#/components/examples/COLO2COLOwithDot1Q-QinQ" + Colo2Colo-Qinq2Qinq: + $ref: "#/components/examples/COLO2COLOwithQinq-Qinq" + Colo2Colo-Qinq2Dot1q: + $ref: "#/components/examples/COLO2COLOwithQinq-Dot1q" + Colo2Colo-AsResellerForSubCustomer: + $ref: "#/components/examples/COLO2COLO-AsReseller" + Colo2Colo-Epl: + $ref: "#/components/examples/COLO2COLO-EPL" + Colo2Colo-AccessEpl: + $ref: "#/components/examples/COLO2COLO-AccessEpl" + Colo2Sp-Generic: + $ref: "#/components/examples/COLO2SPwithDot1q" + Colo2Sp-NetworkEdgeGeneric: + $ref: "#/components/examples/COLO2SPwithDot1q" + Colo2Sp-Alibaba: + $ref: "#/components/examples/COLO2AlibabaSPwithDot1q" + Colo2Sp-Aws-Primary: + $ref: "#/components/examples/COLO2AWSSPwithDot1q-Primary" + Colo2Sp-AzureDot1Q: + $ref: "#/components/examples/COLO2AzureSPwithDot1q-Primary" + Colo2Sp-AzureQinq: + $ref: "#/components/examples/COLO2AzureSPwithQinq-Secondary" + Colo2Sp-Google: + $ref: "#/components/examples/COLO2GoogleSPwithDot1q" + Colo2Sp-Ibm_1.0: + $ref: "#/components/examples/COLO2IBM_1" + Colo2Sp-Ibm_2.0: + $ref: "#/components/examples/COLO2IBM_2" + Colo2Sp-Oracle: + $ref: "#/components/examples/COLO2OracleSPwithDot1q" + Colo2ServiceToken: + $ref: "#/components/examples/COLO2ServiceToken" + Colo2Network-EVPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithDot1q" + Colo2Network-EPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithEPL" + Vd2Network: + $ref: "#/components/examples/Vd2NETWORK" + Vd2Sp-Aws: + $ref: "#/components/examples/Vd2AwsSP" + Vd2Sp-Azure: + $ref: "#/components/examples/Vd2AzureSP" + Vd2Sp-Oracle: + $ref: "#/components/examples/Vd2OracleSP" + Vd2Sp-IBM_1.0: + $ref: "#/components/examples/Vd2Ibm_1" + Vd2Sp-IBM_2.0: + $ref: "#/components/examples/Vd2Ibm_2" + Vd2Sp-Alibaba: + $ref: "#/components/examples/Vd2AlibabaSP" + Vd2Sp-Google: + $ref: "#/components/examples/Vd2GoogleSP" + Vd2Sp-Primary: + $ref: "#/components/examples/Vd2Sp-Primary" + Vd2Sp-Secondary: + $ref: "#/components/examples/Vd2Sp-Secondary" + Vd2Colo: + $ref: "#/components/examples/Vd2Colo" + Vd2Colo-vlanTag: + $ref: "#/components/examples/Vd2ColoVlanTag" + Vd2Colo-vlanCTag: + $ref: "#/components/examples/Vd2Colo-VlanCTag" + Vd2ColoUntagged: + $ref: "#/components/examples/Vd2ColoUntagged" + Vd2ServiceToken: + $ref: "#/components/examples/Vd2ServiceToken" + Fcr2Colo: + $ref: "#/components/examples/Fcr2Colo" + Fcr2Sp-Google: + $ref: "#/components/examples/Fcr2Sp-Google" + Fcr2Sp-Azure: + $ref: "#/components/examples/Fcr2Sp-Azure" + Fcr2Sp-Generic: + $ref: "#/components/examples/Fcr2Sp-Generic" + Fcr2Sp-Generic-Redundant-Primary: + $ref: "#/components/examples/Fcr2Sp-Generic" + Fcr2Sp-Generic-Redundant-Secondary: + $ref: "#/components/examples/Fcr2Sp-Generic-Redundant-Secondary" + Fcr2Sp-Generic-Redundant-Primary-re-add: + $ref: "#/components/examples/Fcr2Sp-Generic-Redundant-Primary" + Fcr2Sp-Aws: + $ref: "#/components/examples/Fcr2Sp-Aws" + Fcr2Sp-Oracle: + $ref: "#/components/examples/Fcr2Sp-Oracle" + Fcr2Vd: + $ref: "#/components/examples/Fcr2Vd" + Fcr2Vd-Redundant-Secondary: + $ref: "#/components/examples/Fcr2Vd-Redundant-Secondary" + Fcr2IpWan: + $ref: "#/components/examples/Fcr2IpWan" + Fcr2MetalNetwork: + $ref: "#/components/examples/Fcr2Metal-Network" + AsideServiceToken2ColoWithDot1q: + $ref: "#/components/examples/AsideServiceToken2PortWithDot1q" + AsideServiceToken2ColoWithQinq: + $ref: "#/components/examples/AsideServiceToken2PortWithQinq" + AsideServiceToken2PrivateSP-NE: + $ref: "#/components/examples/AsideServiceToken2PrivateSP-NE" + AsideServiceToken2ZsideServiceToken: + $ref: "#/components/examples/AsideServiceToken2ZsideServiceToken" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws" + Metal2Sp-Azure: + $ref: "#/components/examples/Metal2Sp-Azure" + Metal2Sp-GCP: + $ref: "#/components/examples/Metal2Sp-GCP" + Metal2Sp-Oracle: + $ref: "#/components/examples/Metal2Sp-Oracle" + Metal2Sp-IBM: + $ref: "#/components/examples/Metal2Sp-IBM" + Metal2Port-Dot1Q: + $ref: "#/components/examples/Metal2Port-Dot1q" + Metal2Port-QinQ: + $ref: "#/components/examples/Metal2Port-Qinq" + Metal2Port-ZsideServiceToken: + $ref: "#/components/examples/Metal2ServiceToken" + Metal2Sp-Generic: + $ref: "#/components/examples/Metal2Sp-Generic" + MultiCloudNetwork2Sp-Aws: + $ref: "#/components/examples/MCNS2Sp-Aws" + Vd2IASp: + $ref: "#/components/examples/Vd2IAProfile-Request" + Fcr2Metal-Network: + $ref: "#/components/examples/Fcr2Metal-Network" + required: true + responses: + "201": + description: Accept Connection Request + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + Colo2Sp: + $ref: "#/components/examples/ConnectionExample" + Colo2Sp-Google: + $ref: "#/components/examples/COLO2GoogleSPwithDot1q-Response" + Colo2Sp-Alibaba: + $ref: "#/components/examples/COLO2AlibabaSP-Response" + Colo2Sp-IBM_1.0: + $ref: "#/components/examples/COLO2IBM_1" + Colo2Sp-IBM_2.0: + $ref: "#/components/examples/COLO2IBM_2" + Colo2Sp-Oracle: + $ref: "#/components/examples/COLO2OracleSP-Response" + Vd2Sp: + $ref: "#/components/examples/Vd2Sp-Response" + Vd2Token: + $ref: "#/components/examples/Vd2ServiceToken_Response" + Vd2Colo: + $ref: "#/components/examples/Vd2Colo-Response" + Vd2Colo-tag: + $ref: "#/components/examples/Vd2Colo-VlanTagResponse" + Vd2ColoUntagged: + $ref: "#/components/examples/Vd2ColoUntagged-Response" + Fcr2Sp: + $ref: "#/components/examples/Fcr2Sp-Response" + Fcr2Colo: + $ref: "#/components/examples/Fcr2Colo-ResponseExample" + Fcr2IpWan: + $ref: "#/components/examples/Fcr2IpWan-response" + ServiceToken2PortResponseDot1Q: + $ref: "#/components/examples/AsideServiceToken2PortResponseWithDot1q" + ServiceToken2PortResponseQinQ: + $ref: "#/components/examples/AsideServiceToken2PortResponseWithQinq" + Metal2Sp-Aws: + $ref: "#/components/examples/Metal2Sp-Aws-Response" + Metal2Sp-Azure: + $ref: "#/components/examples/Metal2Sp-Azure-Response" + Metal2Sp-GCP: + $ref: "#/components/examples/Metal2Sp-GCP-Response" + Metal2Sp-Oracle: + $ref: "#/components/examples/Metal2Sp-Oracle-Response" + Metal2Sp-IBM: + $ref: "#/components/examples/Metal2Sp-IBM-Response" + Metal2Port-Dot1Q: + $ref: "#/components/examples/Metal2Port-Dot1q-Response" + Metal2Port-QinQ: + $ref: "#/components/examples/Metal2Port-Qinq-Response" + Metal2Port-ZsideServiceToken: + $ref: "#/components/examples/Metal2ServiceToken-Response" + Metal2Sp-Generic: + $ref: "#/components/examples/Metal2Sp-Generic-Response" + Fcr2Metal-Network: + $ref: "#/components/examples/Fcr2Metal-Network" + Colo2Network-EVPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithDot1q-Response" + Colo2Network-EPLAN_VC: + $ref: "#/components/examples/COLO2NETWORKwithEPL-Response" + Vd2IASp: + $ref: "#/components/examples/Vd2IAProfile-Response" + Vd2Network: + $ref: "#/components/examples/Vd2NETWORK-Response" + Vd2Sp-Aws: + $ref: "#/components/examples/Vd2AwsSP-Response" + Vd2Sp-Azure: + $ref: "#/components/examples/Vd2AzureSP-Response" + Vd2Sp-Oracle: + $ref: "#/components/examples/Vd2OracleSP-Response" + Vd2Sp-IBM_1.0: + $ref: "#/components/examples/Vd2Ibm_1" + Vd2Sp-IBM_2.0: + $ref: "#/components/examples/Vd2Ibm_2" + Vd2Sp-Alibaba: + $ref: "#/components/examples/Vd2AlibabaSP-Response" + Vd2Sp-Google: + $ref: "#/components/examples/Vd2GoogleSP-Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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" + "405": + description: Method not allowed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/405" + "/fabric/v4/connections/{connectionId}": + get: + tags: + - Connections + summary: Get Connection by ID + description: The API provides capability to get user's virtual connection details (Service Tokens, Access Points, Link Protocols, etc) by it's connection ID (UUID) + operationId: getConnectionByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: direction + in: query + description: Connection Direction + required: false + schema: + $ref: "#/components/schemas/ConnectionDirection" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + nonGenericConnectionResponse: + $ref: "#/components/examples/NonGenericConnectionResponseExample" + genericConnectionResponse: + $ref: "#/components/examples/GenericConnectionResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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" + delete: + tags: + - Connections + summary: Delete by ID + description: Delete Connection by ID + operationId: deleteConnectionByUuid + parameters: + - name: connectionId + in: path + description: Connection UUID + required: true + schema: + $ref: "#/components/schemas/VirtualCircuitId" + responses: + "200": + description: Delete Connection Request + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + connectionExample: + $ref: "#/components/examples/ConnectionDeletionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400-delete" + "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-delete" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404" + "405": + description: Method not allowed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/405" + patch: + tags: + - Connections + summary: Update by ID + description: Update Connection by ID + operationId: updateConnectionByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/ConnectionUpdateRequest" + examples: + ConnectionUpdateNameRequest: + $ref: "#/components/examples/ConnectionUpdateNameRequest" + ConnectionUpdateBandwidthRequest: + $ref: "#/components/examples/ConnectionUpdateBandwidthRequest" + ConnectionAddAccessAndSecretKeyAWSRequest: + $ref: "#/components/examples/ConnectionAddAccessAndSecretKeyAWSRequest" + ConnectionAddRoutingRequest: + $ref: "#/components/examples/ConnectionAddRoutingRequest" + ConnectionMigrationAsideRequest: + $ref: "#/components/examples/ConnectionMigrationAsideRequest" + ConnectionUpdateNotificationEmailRequest: + $ref: "#/components/examples/ConnectionUpdateNotificationEmailRequest" + ConnectionMigrationAsideRequestForVirtualDevice: + $ref: "#/components/examples/ConnectionMigrationAsideVirtualDeviceRequest" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Connection" + examples: + connectionPatchExample: + $ref: "#/components/examples/ConnectionPatchResponse" + links: + Get Connection Details: + operationId: getConnectionByUuid + parameters: + connectionId: $response.body#/uuid + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + "/fabric/v4/connections/{connectionId}/actions": + post: + tags: + - Connections + summary: Connection Actions + description: This API provides capability to accept/reject user's virtual connection + operationId: createConnectionAction + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionActionRequest" + examples: + ApproveGenericConnection: + $ref: "#/components/examples/Connection_Creation_Acceptance" + RejectGenericConnection: + $ref: "#/components/examples/Connection_Creation_Rejection" + ApproveBandwidthUpdate: + $ref: "#/components/examples/Connection_Update_Acceptance" + RejectBandwidthUpdate: + $ref: "#/components/examples/Connection_Update_Rejection" + AcceptDeleteConnection: + $ref: "#/components/examples/Connection_Deletion_Acceptance" + VcMigrationZSide: + $ref: "#/components/examples/Connection_Update_Request_VC_Migration" + BGPSync: + $ref: "#/components/examples/Connection_Provider_Status_Request" + AcceptZSide-NetworkEdge: + $ref: "#/components/examples/AcceptZSide_NetworkEdge_Request" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionAction" + examples: + connectionActionExample: + $ref: "#/components/examples/ConnectionActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + "/fabric/v4/connections/{connectionId}/routingProtocols": + get: + tags: + - Routing Protocols + summary: GetRoutingProtocols + description: This API provides capability to get Routing Protocols for connections + operationId: getConnectionRoutingProtocols + parameters: + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetResponse" + examples: + getAllRoutingProtocols: + $ref: "#/components/examples/RoutingProtocolGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Routing Protocols + summary: Create Protocol + description: This API provides capability to create Routing Protocol for connections + operationId: createConnectionRoutingProtocol + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolBase" + examples: + Fcr2ColoDirectRoutingOnly: + $ref: "#/components/examples/Fcr2ColoCreateDirect" + Fcr2ColoBGPRoutingOnly: + $ref: "#/components/examples/Fcr2ColoCreateBGP" + Fcr2GcpDirectRoutingOnly: + $ref: "#/components/examples/Fcr2GcpCreateDirect" + Fcr2GcpBGPRoutingOnly: + $ref: "#/components/examples/Fcr2GcpCreateBGP" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + bgpCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateBGPResponse" + directCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateDirectResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/bulk": + post: + tags: + - Routing Protocols + summary: Bulk Create Protocol + description: This API provides capability to create Routing Protocol for connections + operationId: createConnectionRoutingProtocolsInBulk + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRoutingProtocolPostRequest" + examples: + DirectRoutingOnly: + $ref: "#/components/examples/CreateRoutingWithDirectOnly" + BGPRoutingOnly: + $ref: "#/components/examples/CreateRoutingWithBGPOnly" + DirectAndBGPRouting: + $ref: "#/components/examples/CreateRoutingWithDirectAndBGP" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetResponse" + examples: + getAllRoutingProtocols: + $ref: "#/components/examples/RoutingProtocolGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_routing_protocol" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}": + get: + tags: + - Routing Protocols + summary: Get Protocol + description: This API provides capability to accept/reject user's virtual connection + operationId: getConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + bgpCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateBGPResponse" + directCreateResponse: + $ref: "#/components/examples/RoutingProtocolCreateDirectResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Routing Protocols + summary: Replace Protocol + description: This API provides capability to replace complete Routing Protocols on a virtual connection + operationId: replaceConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolBase" + examples: + DirectRoutingReplaceExample: + $ref: "#/components/examples/UpdateRoutingWithDirectOnly" + BGPRoutingReplaceExample: + $ref: "#/components/examples/UpdateRoutingWithBGPOnly" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + bgpReplaceResponse: + $ref: "#/components/examples/RoutingProtocolReplaceBGPResponse" + directReplaceResponse: + $ref: "#/components/examples/RoutingProtocolReplaceDirectResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Routing Protocols + summary: Delete Protocol + description: This API provides capability to delete Routing Protocols on virtual connection + operationId: deleteConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + directDeleteResponse: + $ref: "#/components/examples/RoutingProtocolDeleteDirectResponse" + bgpDeleteResponse: + $ref: "#/components/examples/RoutingProtocolDeleteBGPResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Routing Protocols + summary: Patch Protocol + description: This API provides capability to partially update Routing Protocols on a virtual connection + operationId: patchConnectionRoutingProtocolByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRoutingProtocolPatchRequest" + examples: + EnableIPv4PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolEnableIPv4" + EnableIPv6PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolEnableIPv6" + DisableIPv4PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolDisableIPv4" + DisableIPv6PatchExample: + $ref: "#/components/examples/PatchRoutingProtocolDisableIPv6" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolData" + examples: + EnableBGPResponse: + $ref: "#/components/examples/RoutingProtocolEnableBGPResponse" + DisableBGPResponse: + $ref: "#/components/examples/RoutingProtocolDisableBGPResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions": + get: + tags: + - Routing Protocols + summary: Get BGP Actions + description: This API provides capability to get all BGP actions status + operationId: getConnectionRoutingProtocolAllBgpActions + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric BGP Action object + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionsBulkData" + examples: + BGPActionsAllResponse: + $ref: "#/components/examples/BGPActionsBulkDataResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Routing Protocols + summary: Clear/Reset BGP + description: This API provides capability to clear/reset Routing Protocols BGP session + operationId: postConnectionRoutingProtocolBgpActionByUuid + parameters: + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionRequest" + examples: + BGPSoftClearInAndOutBoundIPv4: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv4" + BGPSoftClearInAndOutBoundIPv6: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv6" + BGPSoftClearInBoundIPv4: + $ref: "#/components/examples/BGPSoftClearInBoundIPv4" + BGPSoftClearInBoundIPv6: + $ref: "#/components/examples/BGPSoftClearInBoundIPv6" + BGPHardResetIPv4: + $ref: "#/components/examples/BGPHardResetIPv4" + BGPHardResetIPv6: + $ref: "#/components/examples/BGPHardResetIPv6" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionData" + examples: + BGPActionHardResetIpV4: + $ref: "#/components/examples/BGPHardResetIPv4Response" + BGPActionHardResetIpV6: + $ref: "#/components/examples/BGPHardResetIPv6Response" + BGPActionSoftClearInAndOutIpV4: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv4Response" + BGPActionSoftClearInAndOutIpV6: + $ref: "#/components/examples/BGPSoftClearInAndOutBoundIPv6Response" + BGPActionSoftClearInIpV4: + $ref: "#/components/examples/BGPSoftClearInBoundIPv4Response" + BGPActionSoftClearInIpV6: + $ref: "#/components/examples/BGPSoftClearInBoundIPv6Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/actions/{actionId}": + get: + tags: + - Routing Protocols + summary: Get BGP Action + description: This API provides capability to retrieve specific BGP action + operationId: getConnectionRoutingProtocolsBgpActionByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: actionId + in: path + description: BGP Action UUID + required: true + schema: + $ref: "#/components/schemas/ActionId" + responses: + "200": + description: Fabric BGP Action object + content: + application/json: + schema: + $ref: "#/components/schemas/BGPActionData" + examples: + BGPActionResponse: + $ref: "#/components/examples/BGPActionDataResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes/{changeId}": + get: + tags: + - Routing Protocols + summary: Get Change By ID + description: This API provides capability to retrieve specific Routing Protocol Change + operationId: getConnectionRoutingProtocolsChangeByUuid + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId" + responses: + "200": + description: Fabric Routing Protocol Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolChangeData" + examples: + RoutingProtocolChangeResponse: + $ref: "#/components/examples/RoutingProtocolGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routingProtocols/{routingProtocolId}/changes": + get: + tags: + - Routing Protocols + summary: Get Changes + description: This API provides capability to retrieve user's Routing Protocol Changes + operationId: getConnectionRoutingProtocolsChanges + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + - name: routingProtocolId + in: path + description: Routing Protocol Id + required: true + schema: + $ref: "#/components/schemas/RoutingProtocolId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Routing Protocol Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RoutingProtocolChangeDataResponse" + examples: + RoutingProtocolChangesResponse: + $ref: "#/components/examples/RoutingProtocolGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_Invalid_id" + "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: Connection ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/connections/search: + post: + tags: + - Connections + summary: Search connections + description: The API provides capability to get list of user's virtual connections using search criteria, including optional filtering, pagination and sorting + operationId: searchConnections + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SearchRequest" + examples: + ConnectionSearchDirection: + $ref: "#/components/examples/ConnectionSearchDirection" + ConnectionSearchIsremote: + $ref: "#/components/examples/ConnectionSearchIsremote" + ConnectionSearchName: + $ref: "#/components/examples/ConnectionSearchName" + ConnectionSearchUuid: + $ref: "#/components/examples/ConnectionSearchUuid" + ConnectionSearchCustorg: + $ref: "#/components/examples/ConnectionSearchCustorg" + ConnectionSearchAccountname: + $ref: "#/components/examples/ConnectionSearchAccountname" + ConnectionSearchCloudRouteruuid: + $ref: "#/components/examples/ConnectionSearchCloudRouteruuid" + ConnectionSearchAsidevlanstagctag: + $ref: "#/components/examples/ConnectionSearchAsidevlanstagctag" + ConnectionSearchAsidemetrocodemetroname: + $ref: "#/components/examples/ConnectionSearchAsidemetrocodemetroname" + ConnectionSearchAsideaccesspointname: + $ref: "#/components/examples/ConnectionSearchAsideaccesspointname" + ConnectionSearchAsideaccesspointuuid: + $ref: "#/components/examples/ConnectionSearchAsideaccesspointuuid" + ConnectionSearchAsideaccesspointtype: + $ref: "#/components/examples/ConnectionSearchAsideaccesspointtype" + ConnectionSearchAsidevirtualdevicename: + $ref: "#/components/examples/ConnectionSearchAsidevirtualdevicename" + ConnectionSearchAsidevirtualdeviceuuid: + $ref: "#/components/examples/ConnectionSearchAsidevirtualdeviceuuid" + ConnectionSearchAsideservicetokenuuid: + $ref: "#/components/examples/ConnectionSearchAsideservicetokenuuid" + ConnectionSearchChangestatus: + $ref: "#/components/examples/ConnectionSearchChangestatus" + ConnectionSearchUpdatedatetime: + $ref: "#/components/examples/ConnectionSearchUpdatedatetime" + ConnectionSearchEquinixstatus: + $ref: "#/components/examples/ConnectionSearchEquinixstatus" + ConnectionSearchProviderstatus: + $ref: "#/components/examples/ConnectionSearchProviderstatus" + ConnectionSearchProjectid: + $ref: "#/components/examples/ConnectionSearchProjectidOPtional-CRH" + ConnectionSearchRedundancygroup: + $ref: "#/components/examples/ConnectionSearchRedundancygroup" + ConnectionSearchRedundancypriority: + $ref: "#/components/examples/ConnectionSearchRedundancypriority" + ConnectionSearchZsidevlanstagctag: + $ref: "#/components/examples/ConnectionSearchZsidevlanstagctag" + ConnectionSearchZsidemetrocodemetroname: + $ref: "#/components/examples/ConnectionSearchZsidemetrocodemetroname" + ConnectionSearchZsideaccesspointname: + $ref: "#/components/examples/ConnectionSearchZsideaccesspointname" + ConnectionSearchZsideaccesspointuuid: + $ref: "#/components/examples/ConnectionSearchZsideaccesspointuuid" + ConnectionSearchZsideaccesspointtype: + $ref: "#/components/examples/ConnectionSearchZsideaccesspointtype" + ConnectionSearchZsidevirtualdevicename: + $ref: "#/components/examples/ConnectionSearchZsidevirtualdevicename" + ConnectionSearchZsidevirtualdeviceuuid: + $ref: "#/components/examples/ConnectionSearchZsidevirtualdeviceuuid" + ConnectionSearchZsideservicetokenuuid: + $ref: "#/components/examples/ConnectionSearchZsideservicetokenuuid" + ConnectionSearchZsideprofileuuid: + $ref: "#/components/examples/ConnectionSearchZsideprofileuuid" + ConnectionSearchANDwithNestedOR-LIKE: + $ref: "#/components/examples/ConnectionSearchANDwithNestedOR-LIKE" + ConnectionSearchORwithNestedAND: + $ref: "#/components/examples/ConnectionSearchORwithNestedAND" + ConnectionSearchANDwithNestedIN: + $ref: "#/components/examples/ConnectionSearchANDwithNestedIN" + ConnectionSearchANDClause: + $ref: "#/components/examples/ConnectionSearchANDClause" + ConnectionSearchANDwithNestedOR: + $ref: "#/components/examples/ConnectionSearchANDwithNestedOR" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionSearchResponse" + example: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + bandwidth: 1000 + direction: OUTGOING + isRemote: true + redundancy: + priority: PRIMARY + group: 7cf39156-9dec-40f7-a254-9bb401342e83 + aSide: + accessPoint: + type: COLO + uuid: b840a1db-5639-639f-97e0-328a5c00a874 + name: exmapple-access-point-name-aside + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + uuid: b840a1db-5639-639f-97e0-328a5c00a875 + name: exmapple-access-point-name-zside + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: MX + metroName: Mexico City + sellerRegion: us-west-1 + routingProtocols: + - type: EBGP + seqId: 03f7294b-42ce-42b6-9cc8-1e1b46d8183a + state: ACTIVE + customerAsn: 65500 + providerAsn: 65000 + bgpAuthKey: testAuthKey + ipv4: + customerPeerIp: 169.254.255.2/30 + providerPeerIp: 169.254.255.1/30 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONED + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + project: + projectId: 2c10d60e-29c1-4721-ad1a-b531f4e04717 + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + /fabric/v4/prices/search: + post: + tags: + - Prices + summary: Get Prices + description: Search prices by search criteria + operationId: searchPrices + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/FilterBody" + examples: + virtualConnectionProductEvplVcTypeFromColoToColo: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromColoToColo" + virtualConnectionProductEvplVcTypeFromColoToColoByPortUuid: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromColoToColoByPortUuid" + virtualConnectionProductEvplVcTypeFromColoToSP: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromColoToSP" + virtualConnectionProductFcrVcTypeFromGWToSP: + $ref: "#/components/examples/VirtualConnectionProductGwVcTypeFromGWToSP" + virtualConnectionProductFcrVcTypeFromGWToColo: + $ref: "#/components/examples/VirtualConnectionProductGwVcTypeFromGWToColo" + virtualConnectionProductFcrVcTypeFromVDToColo: + $ref: "#/components/examples/VirtualConnectionProductGwVcTypeFromVDToColo" + virtualConnectionProductEvplVcTypeFromVDToColo: + $ref: "#/components/examples/VirtualConnectionProductEvplVcTypeFromVDToColo" + virtualConnectionProductVdChainTypeFromVDToChaingroup: + $ref: "#/components/examples/VirtualConnectionProductVdChainTypeFromVDToChaingroup" + virtualConnectionProductOfflineEvplVcTypeFromColoToSp: + $ref: "#/components/examples/VirtualConnectionProductOfflineEvplVcTypeFromColoToSp" + virtualConnectionProductOfflineEvpLanVcTypeFromColoToNetwork: + $ref: "#/components/examples/VirtualConnectionProductEvpLanVcTypeFromColoToNetwork" + cloudRouterProduct: + $ref: "#/components/examples/FabricCloudRouterProduct" + ipBlockProduct: + $ref: "#/components/examples/IpBlockProduct" + virtualPortProduct: + $ref: "#/components/examples/VirtualPortProduct" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/PriceSearchResponse" + examples: + virtualConnection: + $ref: "#/components/examples/VirtualConnection" + ipBlock: + $ref: "#/components/examples/IpBlock" + cloudRouter: + $ref: "#/components/examples/FabricCloudRouter" + virtualPort: + $ref: "#/components/examples/VirtualPort" + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/PriceErrorList" + examples: + example: + $ref: "#/components/examples/400_prices" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/PriceErrorList" + examples: + example: + $ref: "#/components/examples/500_prices" + "/fabric/v4/ports/{portId}/stats": + get: + tags: + - Statistics + summary: Get Stats by uuid + description: This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + operationId: getPortStatsByPortUuid + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + - name: startDateTime + in: query + description: startDateTime + required: true + schema: + $ref: "#/components/schemas/startDateTime" + example: 2020-11-06T07:00:00Z + - name: endDateTime + in: query + description: endDateTime + required: true + schema: + $ref: "#/components/schemas/endDateTime" + example: 2020-11-10T07:00:00Z + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Statistics" + examples: + statsExample: + $ref: "#/components/examples/200_port" + "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" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/ports/stats: + get: + tags: + - Statistics + summary: Top Port Statistics + description: This API provides top utilized service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + operationId: getPortStats + parameters: + - name: sort + in: query + description: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The "?" prefix indicates descending (DESC) order. + required: false + schema: + $ref: "#/components/schemas/sort" + - name: top + in: query + description: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + required: false + schema: + $ref: "#/components/schemas/top" + - name: duration + in: query + description: duration + required: false + schema: + $ref: "#/components/schemas/duration" + - name: direction + in: query + description: Direction of traffic from the requester's viewpoint. The default is outbound. + required: false + schema: + $ref: "#/components/schemas/query_direction" + - name: metricInterval + in: query + description: metricInterval + required: false + schema: + $ref: "#/components/schemas/metricInterval" + - name: metros + in: query + description: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. + required: true + schema: + $ref: "#/components/schemas/metros" + - name: projectId + in: query + description: projectId + required: false + schema: + $ref: "#/components/schemas/projectId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/TopUtilizedStatistics" + examples: + statsExample: + $ref: "#/components/examples/200_top" + "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" + "/fabric/v4/connections/{connectionId}/stats": + get: + tags: + - Statistics + summary: Get Stats by uuid + description: This API provides service-level metrics so that you can view access and gather key information required to manage service subscription sizing and capacity + operationId: getConnectionStatsByPortUuid + parameters: + - name: connectionId + in: path + description: Connection UUID + required: true + schema: + $ref: "#/components/schemas/VirtualCircuitId" + - name: startDateTime + in: query + description: startDateTime + required: true + schema: + $ref: "#/components/schemas/startDateTime" + example: 2020-11-06T07:00:00Z + - name: endDateTime + in: query + description: endDateTime + required: true + schema: + $ref: "#/components/schemas/endDateTime" + example: 2020-11-10T07:00:00Z + - name: viewPoint + in: query + description: viewPoint + required: true + schema: + $ref: "#/components/schemas/viewPoint" + example: aSide + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Statistics" + examples: + statsExample: + $ref: "#/components/examples/200_vc" + "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" + /fabric/v4/serviceProfiles: + get: + tags: + - Service Profiles + summary: Get all Profiles + description: The API request returns all Equinix Fabric Service Profiles in accordance with the view point requested. + operationId: getServiceProfiles + parameters: + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + - name: viewPoint + in: query + description: flips view between buyer and seller representation + schema: + type: string + default: aSide + enum: + - aSide + - zSide + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfiles" + examples: + ASideServiceProfile: + $ref: "#/components/examples/ServiceProfilesResponse" + ZSideServiceProfile: + $ref: "#/components/examples/SellerServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + post: + tags: + - Service Profiles + summary: Create Profile + description: Create Service Profile creates Equinix Fabric? Service Profile. + operationId: createServiceProfile + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileRequest" + examples: + ServiceProfileCreate: + $ref: "#/components/examples/ServiceProfileCreate" + ServiceProfileCreate-CRH: + $ref: "#/components/examples/ServiceProfileCreate-CRH" + required: true + responses: + "201": + description: Successful Create operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfileCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-create" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + /fabric/v4/serviceProfiles/search: + post: + tags: + - Service Profiles + summary: Profile Search + description: Search service profiles by search criteria + operationId: searchServiceProfiles + parameters: + - name: viewPoint + in: query + description: flips view between buyer and seller representation + schema: + type: string + default: aSide + enum: + - aSide + - zSide + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileSearchRequest" + examples: + ServiceProfileSearchWithUuid: + $ref: "#/components/examples/ServiceProfileSearchWithUuid" + ServiceProfileSearchWithName: + $ref: "#/components/examples/ServiceProfileSearchWithName" + ServiceProfileSearchWithState: + $ref: "#/components/examples/ServiceProfileSearchWithState" + ServiceProfileSearchWithVisibility: + $ref: "#/components/examples/ServiceProfileSearchWithVisibility" + ServiceProfileSearchWithProject: + $ref: "#/components/examples/ServiceProfileSearchWithProjectId" + ServiceProfileSearchWithPort: + $ref: "#/components/examples/ServiceProfileSearchWithPort" + ServiceProfileSearchWithMultipleFilter: + $ref: "#/components/examples/ServiceProfileSearchWithAnd" + required: true + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfiles" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400-search" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceProfiles/{serviceProfileId}": + get: + tags: + - Service Profiles + summary: Get Profile + description: Get service profile by UUID. View Point parameter if set to zSide will give seller's view of the profile otherwise buyer's view. + operationId: getServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: viewPoint + in: query + description: flips view between buyer and seller representation + schema: + type: string + default: aSide + enum: + - aSide + - zSide + responses: + "200": + description: Successful operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ASideServiceProfile: + $ref: "#/components/examples/ServiceProfileResponse" + ZSideServiceProfile: + $ref: "#/components/examples/SellerServiceProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + put: + tags: + - Service Profiles + summary: Replace Profile + description: This API request replaces a service profile definition + operationId: putServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: If-Match + in: header + description: conditional request + required: true + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileRequest" + examples: + ServiceProfileUpdate: + $ref: "#/components/examples/ServiceProfileUpdate" + required: true + responses: + "202": + description: Successful Put operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfilePutResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-update" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-404-get" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + delete: + tags: + - Service Profiles + summary: Delete Profile + description: delete Service Profile by UUID + operationId: deleteServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + responses: + "200": + description: Successful Delete operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfileDeleteResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400-delete" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-delete" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-404-get" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + patch: + tags: + - Service Profiles + summary: Update Profile + description: Update Service Profile by UUID + operationId: updateServiceProfileByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: If-Match + in: header + description: conditional request + required: true + schema: + type: string + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/JsonPatch" + examples: + ServiceProfilePatchRequest: + $ref: "#/components/examples/ServiceProfilePatchRequest" + required: true + responses: + "200": + description: Successful Patch operation + headers: + ETag: + $ref: "#/components/headers/ETag" + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceProfile" + examples: + ServiceProfile: + $ref: "#/components/examples/ServiceProfilePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-update" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-404-get" + "412": + description: Precondition Failed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-412" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceProfiles/{serviceProfileId}/metros": + get: + tags: + - Service Profiles + summary: Get Profile Metros + description: Get service profile metros by UUID. + operationId: getServiceProfileMetrosByUuid + parameters: + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + $ref: "#/components/schemas/ServiceProfileId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/ServiceMetros" + examples: + ServiceProfileMetros: + $ref: "#/components/examples/ServiceProfilesResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-403-read" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/sp-500" + "/fabric/v4/serviceTokens/{serviceTokenId}": + get: + tags: + - Service Tokens + summary: Get Token by uuid + description: Get Specified Service Tokens uses the uuid of an Equinix Fabric service token to return details about the token's type, state, location, bandwidth, and other key properties. + operationId: getServiceTokenByUuid + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + tokenExample: + $ref: "#/components/examples/getServiceToken" + tokenCrhExample: + $ref: "#/components/examples/getServiceToken-CRH" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_UUID" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + delete: + tags: + - Service Tokens + summary: Delete Token by uuid + description: Delete Service Tokens removes an Equinix Fabric service token corresponding to the specified uuid which are in INACTIVE state. + operationId: deleteServiceTokenByUuid + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + responses: + "204": + description: Deleted Service Token Successfully + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_UUID" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + patch: + tags: + - Service Tokens + summary: Update Token By ID + description: This API provides capability to update user's Service Token + operationId: updateServiceTokenByUuid + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/ServiceTokenUpdateRequest" + examples: + UpdateExpirationDate: + $ref: "#/components/examples/UpdateExpirationDate" + UpdateTokenName: + $ref: "#/components/examples/UpdateTokenName" + UpdateTokenDescription: + $ref: "#/components/examples/UpdateTokenDescription" + UpdateNotificationEmail: + $ref: "#/components/examples/UpdateNotificationEmail" + UpdateAsideTokenBandwidth: + $ref: "#/components/examples/UpdateAsideTokenBandwidth" + UpdateZsideTokenBandwidth: + $ref: "#/components/examples/UpdateZsideTokenBandwidth" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + tokenExample: + $ref: "#/components/examples/getServiceToken" + tokenCrhExample: + $ref: "#/components/examples/getServiceToken-CRH" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_UUID" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + /fabric/v4/serviceTokens: + get: + tags: + - Service Tokens + summary: Get All Tokens + description: Get All ServiceTokens creates a list of all Equinix Fabric service tokens associated with the subscriber's account. + operationId: getServiceTokens + parameters: + - name: offset + in: query + description: offset + schema: + type: number + - name: limit + in: query + description: number of records to fetch + schema: + type: number + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokens" + examples: + tokenExample: + $ref: "#/components/examples/getServiceTokens" + tokenCrhExample: + $ref: "#/components/examples/getServiceTokens-CRH" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + post: + 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. + operationId: createServiceToken + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + AsideTokenWithQnQExample: + $ref: "#/components/examples/createServiceTokenWithQnQ" + AsideTokenWithDot1QExample: + $ref: "#/components/examples/createServiceTokenWithDot1Q" + AsideTokenWithVxlanExample: + $ref: "#/components/examples/createServiceTokenWithVxlan" + ZsideTokenWithQnQExample: + $ref: "#/components/examples/createZsideServiceTokenWithQnQ" + ZsideTokenWithQnQ-CrhExample: + $ref: "#/components/examples/createZsideServiceTokenWithQnQ-CRH" + ZsideTokenWithDot1QExample: + $ref: "#/components/examples/createZsideServiceTokenWithDot1Q" + ZsideTokenWithVxlanExample: + $ref: "#/components/examples/createZsideServiceTokenWithVxlan" + required: true + responses: + "201": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + tokenExample: + $ref: "#/components/examples/getServiceToken" + tokenCrhExample: + $ref: "#/components/examples/getServiceToken-CRH" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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" + "/fabric/v4/serviceTokens/{serviceTokenId}/actions": + post: + tags: + - Service Tokens + summary: ServiceToken Actions + description: This API provides capability to accept/reject user's servicetokens + operationId: createServiceTokenAction + parameters: + - name: serviceTokenId + in: path + description: Service Token UUID + required: true + schema: + $ref: "#/components/schemas/ServiceTokenUUID" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokenActionRequest" + examples: + ResendServiceToken: + $ref: "#/components/examples/Resend_Service_Token" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceToken" + examples: + connectionActionExample: + $ref: "#/components/examples/postServiceTokenActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + /fabric/v4/serviceTokens/search: + post: + tags: + - Service Tokens + summary: Search servicetokens + description: The API provides capability to get list of user's servicetokens using search criteria, including optional filtering, pagination and sorting + operationId: searchServiceTokens + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokenSearchRequest" + examples: + ServiceTokenRequest: + $ref: "#/components/examples/postServiceTokenSearchUuid" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceTokens" + examples: + servicetokenSearchExample: + $ref: "#/components/examples/getServiceTokens" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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_internal_error" + /fabric/v4/metros: + get: + tags: + - Metros + summary: Get all Metros + description: GET All Subscriber Metros with an option query parameter to return all Equinix Fabric metros in which the customer has a presence, as well as latency data for each location. + operationId: getMetros + parameters: + - name: presence + in: query + description: User On Boarded Metros based on Fabric resource availability + required: false + schema: + $ref: "#/components/schemas/Presence" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/MetroResponse" + examples: + metroExample: + $ref: "#/components/examples/metro" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/400_metros" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/401_metros" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/500_metros" + "/fabric/v4/metros/{metroCode}": + get: + tags: + - Metros + summary: Get Metro by Code + description: GET Metros retrieves all Equinix Fabric metros, as well as latency data between each metro location. . + operationId: getMetroByCode + parameters: + - name: metroCode + in: path + description: Metro Code + required: true + schema: + $ref: "#/components/schemas/MetroCode" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/Metro" + examples: + metroExample: + $ref: "#/components/examples/metroByCode" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/400_metroCode" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/401_metros" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/MetroErrorList" + examples: + example: + $ref: "#/components/examples/500_metros" + /fabric/v4/ports: + get: + tags: + - Ports + summary: Get All Ports + description: Get All Ports returns details of all assigned and available ports for the specified user credentials. The metro attribute in the response shows the origin of the proposed connection. + operationId: getPorts + parameters: + - name: name + in: query + description: port name to be provided if specific port(s) to be retrieved + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AllPortsResponse" + examples: + portExample: + $ref: "#/components/examples/ports" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + post: + tags: + - Ports + summary: Create Port + description: Creates Equinix Fabric? Port. + operationId: createPort + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/Port" + examples: + COLOSinglePortNonLag: + $ref: "#/components/examples/COLOSinglePortNonLag" + COLOSinglePortLag: + $ref: "#/components/examples/COLOSinglePortLag" + COLOLagPortNewGroup: + $ref: "#/components/examples/COLOLagPortNewGroup" + COLOAddSecondaryPort: + $ref: "#/components/examples/COLOAddSecondaryPort" + REMOTESinglePortLag: + $ref: "#/components/examples/REMOTESinglePortNewGroupLagRequest" + BMMRSinglePortLag: + $ref: "#/components/examples/BMMRSinglePortLag" + BMMRSinglePortNoLag: + $ref: "#/components/examples/BMMRSinglePortNoLag" + BMMRAddSecondaryPort: + $ref: "#/components/examples/BMMRAddSecondaryPort" + BMMRLagPortNewGroup: + $ref: "#/components/examples/BMMRLagPortNewGroup" + required: true + responses: + "201": + description: Successful operation for COLO Single Port Non Lag + content: + application/json: + schema: + $ref: "#/components/schemas/PortResponse" + examples: + portExample: + $ref: "#/components/examples/COLOSinglePortNonLagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/port-400" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/port-500" + /fabric/v4/ports/bulk: + post: + tags: + - Ports + summary: Create Port + description: Create Port creates Equinix Fabric? Port. Preview + operationId: createBulkPort + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkPort" + examples: + COLOBulkPort: + $ref: "#/components/examples/COLOBulkPort" + required: true + responses: + "201": + description: Successful operation for COLO Bulk Port + content: + application/json: + schema: + $ref: "#/components/schemas/AllPortsResponse" + examples: + bulkPortExample: + $ref: "#/components/examples/COLOBulkPortResponse" + "/fabric/v4/ports/{portId}/physicalPorts/bulk": + post: + tags: + - Ports + summary: Add to Lag + description: Add Physical Ports to Virtual Port. Preview + operationId: addToLag + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BulkPhysicalPort" + examples: + COLOAddToLag: + $ref: "#/components/examples/COLOAddToLag" + REMOTEAddToLag: + $ref: "#/components/examples/REMOTEAddToLag" + BMMRAddToLag: + $ref: "#/components/examples/BMMRAddToLag" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AllPhysicalPortsResponse" + examples: + COLOAddToLag: + $ref: "#/components/examples/COLOAddToLagResponse" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "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" + "/fabric/v4/ports/{portId}": + get: + tags: + - Ports + summary: Get Port by uuid + description: Get Port By uuid returns details of assigned and available Equinix Fabric port for the specified user credentials. The metro code attribute in the response shows the origin of the proposed connection. + operationId: getPortByUuid + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/PortResponse" + examples: + portExample: + $ref: "#/components/examples/portByUUID" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + delete: + tags: + - Ports + summary: Delete a single port + description: The API provides capability to delete a single port + operationId: deletePort + parameters: + - name: portId + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + responses: + "202": + description: Accepted + content: + application/json: + schema: + $ref: "#/components/schemas/Port" + examples: + portExample: + $ref: "#/components/examples/portDelete" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/ports/{portUuid}/linkProtocols": + get: + tags: + - Ports + summary: Get Vlans + description: The API provides capability to retrieve Vlans for a Port. + operationId: getVlans + parameters: + - name: portUuid + in: path + description: Port UUID + required: true + schema: + $ref: "#/components/schemas/PortUUID" + responses: + "200": + description: Get Vlans + content: + application/json: + schema: + $ref: "#/components/schemas/LinkProtocolGetResponse" + examples: + LinkProtocolQ1NQResponse: + $ref: "#/components/examples/LinkProtocolGetQinqResponseExample" + LinkProtocolDOT1QResponse: + $ref: "#/components/examples/LinkProtocolGetDot1qResponseExample" + LinkProtocolVlanRangeResponse: + $ref: "#/components/examples/LinkProtocolGetVlanRangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_portId" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403-port-access" + /fabric/v4/ports/search: + post: + tags: + - Ports + summary: Search ports + description: The API provides capability to get list of user's virtual ports using search criteria, including optional filtering, pagination and sorting + operationId: searchPorts + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/PortV4SearchRequest" + examples: + PortSearchDirection: + $ref: "#/components/examples/PortSearchByProjectId" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AllPortsResponse" + examples: + portExample: + $ref: "#/components/examples/ports" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/connections/{connectionId}/routeFilters": + get: + tags: + - Route Filters + summary: Get All RouteFilters + description: This API provides capability to view all Route Filters attached to a Connection + operationId: getConnectionRouteFilters + parameters: + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetAllConnectionRouteFiltersResponse" + examples: + ConnectionRouteFiltersResponse: + $ref: "#/components/examples/ConnectionRouteFiltersGetAll" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/connections/{connectionId}/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Route Filter + description: This API provides capability to view a specific Route Filter attached to a Connection + operationId: getConnectionRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + ConnectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filters + summary: Attach Route Filter + description: This API provides capability to attach a Route Filter to a Connection + operationId: attachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFiltersBase" + examples: + ConnectionRouteFilterAttachInboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterInbound" + ConnectionRouteFilterAttachOutboundExample: + $ref: "#/components/examples/AttachConnectionRouteFilterOutbound" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + ConnectionRouteFilterAttachResponse: + $ref: "#/components/examples/AttachConnectionRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidDirection: + $ref: "#/components/examples/400_invalid_direction" + TransientState: + $ref: "#/components/examples/400_transient_state" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Detach Route Filter + description: This API provides capability to detach a Route Filter from a Connection + operationId: detachConnectionRouteFilter + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: connectionId + in: path + description: Connection Id + required: true + schema: + $ref: "#/components/schemas/ConnectionId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionRouteFilterData" + examples: + ConnectionRouteFilterDetachInboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterInboundResponse" + ConnectionRouteFilterDetachOutboundResponse: + $ref: "#/components/examples/DetachConnectionRouteFilterOutboundResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_state" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routeFilters: + post: + tags: + - Route Filters + summary: Create Route Filters + description: This API provides capability to create a Route Filter + operationId: createRouteFilter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersBase" + examples: + RouteFilterBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4Prefix" + RouteFilterBgpIpv6Prefix: + $ref: "#/components/examples/RouteFilterCreateBgpIpv6Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + GetSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + TransientState: + $ref: "#/components/examples/400_transient_state" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}": + get: + tags: + - Route Filters + summary: Get Filter By UUID + description: This API provides capability to view a Route Filter by UUID + operationId: getRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + GetSpecificRouteFilterResponse: + $ref: "#/components/examples/RouteFilterCreateBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filters + summary: Delete Route Filter + description: This API provides capability to delete a Route Filter + operationId: deleteRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterDeleteBgpIpv4PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_attached_connection" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filters + summary: Patch Route Filter + description: This API provides capability to partially update a Route Filter + operationId: patchRouteFilterByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersPatchRequest" + examples: + RouteFilterNamePatchExample: + $ref: "#/components/examples/PatchRouteFilterName" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersData" + examples: + RouteFilterNamePatchResponse: + $ref: "#/components/examples/RouteFilterNamePatchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes": + get: + tags: + - Route Filters + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter's Changes + operationId: getRouteFilterChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeDataResponse" + examples: + RouteFilterChangesResponse: + $ref: "#/components/examples/RouteFilterGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/changes/{changeId}": + get: + tags: + - Route Filters + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter's Changes + operationId: getRouteFilterChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: changeId + in: path + description: Routing Protocol Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_1" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/connections": + get: + tags: + - Route Filters + summary: Get Connections + description: This API provides capability to view all Connections using the Route Filter + operationId: getRouteFilterConnections + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterGetConnectionsResponse" + examples: + RouteFilterGetConnectionsResponse: + $ref: "#/components/examples/RouteFilterGetConnectionsResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routeFilters/search: + post: + tags: + - Route Filters + summary: Search Route Filters + description: This API provides capability to search Route Filters + operationId: searchRouteFilters + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersSearchBase" + examples: + searchRouteFiltersRequest: + $ref: "#/components/examples/SearchRouteFiltersRequest" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFiltersSearchResponse" + examples: + SearchRouteFiltersResponse: + $ref: "#/components/examples/SearchRouteFiltersResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules": + get: + tags: + - Route Filter Rules + summary: GetRFRules + description: This API provides capability to get all Route Filters Rules for Fabric + operationId: getRouteFilterRules + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilterRules: + $ref: "#/components/examples/RouteFilterRulesGetAll" + "400": + description: Resource not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + post: + tags: + - Route Filter Rules + summary: Create RFRule + description: This API provides capability to create a Route Filter Rule + operationId: createRouteFilterRule + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterRuleBgpIpv4Prefix: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4Prefix" + RouteFilterRuleBgpIpv6Prefix: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv6Prefix" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + GetSpecificRouteFilterRuleIpv4Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + GetSpecificRouteFilterRuleIpv6Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv6PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter Rule ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}": + get: + tags: + - Route Filter Rules + summary: GetRFRule By UUID + description: This API provides capability to view a Route Filter Rule by UUID + operationId: getRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + GetSpecificRouteFilterRuleIpv4Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv4PrefixResponse" + GetSpecificRouteFilterRuleIpv6Response: + $ref: "#/components/examples/RouteFilterRuleCreateBgpIpv6PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + put: + tags: + - Route Filter Rules + summary: ReplaceRFRule + description: This API provides capability to replace a Route Filter Rule completely + operationId: replaceRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesBase" + examples: + RouteFilterIpv4ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterRuleIPv4" + RouteFilterIpv6ReplaceExample: + $ref: "#/components/examples/UpdateRouteFilterRuleIPv6" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + RouteFilterRuleIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv4Response" + routeFilterRuleIpv6ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv6Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + delete: + tags: + - Route Filter Rules + summary: DeleteRFRule + description: This API provides capability to delete a Route Filter Rule + operationId: deleteRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + RouteFilterDeleteBgpIpv4PrefixResponse: + $ref: "#/components/examples/RouteFilterRuleDeleteBgpIpv4PrefixResponse" + routeFilterDeleteBgpIpv6PrefixResponse: + $ref: "#/components/examples/RouteFilterRuleDeleteBgpIpv6PrefixResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_transient_filter" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + patch: + tags: + - Route Filter Rules + summary: PatchRFilterRule + description: This API provides capability to partially update a Route Filter Rule + operationId: patchRouteFilterRuleByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPatchRequest" + examples: + RouteFilterRuleName: + $ref: "#/components/examples/PatchRouteFilterRuleName" + RouteFilterRulePrefix: + $ref: "#/components/examples/PatchRouteFilterRulePrefix" + RouteFilterRulePrefixMatch: + $ref: "#/components/examples/PatchRouteFilterRulePrefixMatch" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesData" + examples: + RouteFilterRuleIpv4ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv4Response" + routeFilterRuleIpv6ReplaceResponse: + $ref: "#/components/examples/RouteFilterRuleReplaceIpv6Response" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidType: + $ref: "#/components/examples/400_bad_request" + InvalidId: + $ref: "#/components/examples/404_invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes": + get: + tags: + - Route Filter Rules + summary: Get All Changes + description: This API provides capability to retrieve all of a Route Filter Rule's Changes + operationId: getRouteFilterRuleChanges + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Route Filter Rule Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeDataResponse" + examples: + RouteFilterRuleChangesResponse: + $ref: "#/components/examples/RouteFilterRulesGetAllChangesResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/{routeFilterRuleId}/changes/{changeId}": + get: + tags: + - Route Filter Rules + summary: Get Change By ID + description: This API provides capability to retrieve a specific Route Filter Rule's Changes + operationId: getRouteFilterRuleChangeByUuid + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + - name: routeFilterRuleId + in: path + description: Route Filter Rules Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterRuleId" + - name: changeId + in: path + description: Route Filter Rule Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_2" + responses: + "200": + description: Fabric Route Filter Change object + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + examples: + RouteFilterChangeResponse: + $ref: "#/components/examples/RouteFilterRuleGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + InvalidInput: + $ref: "#/components/examples/400_invalid_input" + InvalidId: + $ref: "#/components/examples/400_Invalid_id" + "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: Route Filter ID Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + "/fabric/v4/routeFilters/{routeFilterId}/routeFilterRules/bulk": + post: + tags: + - Route Filter Rules + summary: Bulk RFRules + description: This API provides capability to create bulk route filter rules + operationId: createRouteFilterRulesInBulk + parameters: + - name: routeFilterId + in: path + description: Route Filters Id + required: true + schema: + $ref: "#/components/schemas/RouteFilterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteFilterRulesPostRequest" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetRouteFilterRulesResponse" + examples: + getAllRouteFilterRules: + $ref: "#/components/examples/RouteFilterRulesBulkResponse" + "400": + description: Resource not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404_invalid_id" + "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/400" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500_internal_error" + /fabric/v4/routers: + post: + tags: + - Cloud Routers + summary: Create Routers + description: This API provides capability to create user's Cloud Routers + operationId: createCloudRouter + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterPostRequest" + examples: + CreateLabPackage: + $ref: "#/components/examples/CreateLabPackage" + CreateProPackage: + $ref: "#/components/examples/CreateStandardPackage" + required: true + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouter" + examples: + cloudRouterResponse: + $ref: "#/components/examples/CloudRouterPostResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_package" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}": + get: + tags: + - Cloud Routers + summary: Get Routers + description: This API provides capability to retrieve user's Cloud Routers + operationId: getCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouter" + examples: + cloudRouterResponse: + $ref: "#/components/examples/CloudRouterResponseExample" + "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" + delete: + tags: + - Cloud Routers + summary: Delete Routers + description: This API provides capability to delete user's Cloud Routers + operationId: deleteCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + responses: + "204": + description: Deleted Cloud Router Successfully + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_state" + "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" + patch: + tags: + - Cloud Routers + summary: Update Routers + description: This API provides capability to update user's Cloud Routers + operationId: updateCloudRouterByUuid + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/CloudRouterUpdateRequest" + examples: + UpdatePackage: + $ref: "#/components/examples/UpdatePackage" + UpdateName: + $ref: "#/components/examples/UpdateName" + UpdateNotificationEmail: + $ref: "#/components/examples/UpdateNotifications" + required: true + responses: + "200": + description: Fabric Cloud Router object + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouter" + examples: + cloudRouterResponse: + $ref: "#/components/examples/CloudRouterPatchResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}/actions": + get: + tags: + - Cloud Routers + summary: Get actions + description: This API provides capability to fetch action status + operationId: getCloudRouterActions + parameters: + - name: routerId + in: path + description: Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId_1" + - name: state + in: query + description: Action state + schema: + $ref: "#/components/schemas/ActionState" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterActionResponse" + examples: + routerActionExample: + $ref: "#/components/examples/CloudRouterActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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" + "415": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + post: + tags: + - Cloud Routers + summary: Route table actions + description: This API provides capability to refresh route table and bgp session summary information + operationId: createCloudRouterAction + parameters: + - name: routerId + in: path + description: Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId_1" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterActionRequest" + examples: + RouteEntriesStatusUpdate: + $ref: "#/components/examples/RouteEntriesStatusUpdate" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterActionResponse" + examples: + cloudRouterActionExample: + $ref: "#/components/examples/CloudRouterActionResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_operation" + "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" + "415": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}/routes/search": + post: + tags: + - Cloud Routers + summary: Search Route Table + description: The API provides capability to get list of user's Fabric Cloud Router route table entries using search criteria, including optional filtering, pagination and sorting + operationId: searchCloudRouterRoutes + parameters: + - name: routerId + in: path + description: Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId_1" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/RouteTableEntrySearchRequest" + examples: + SearchFilterByNextHop: + $ref: "#/components/examples/SearchFilterByNextHop" + SearchFilterByPrefix: + $ref: "#/components/examples/SearchFilterByPrefix" + SearchFilterByType: + $ref: "#/components/examples/SearchFilterByType" + SearchFilterByStatus: + $ref: "#/components/examples/SearchFilterByStatus" + SearchFilterOrAnd: + $ref: "#/components/examples/SearchFilterOrAnd" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/RouteTableEntrySearchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_sorting" + "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" + "415": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routers/{routerId}/validate": + post: + tags: + - Routing Protocols + summary: Validate Subnet + description: This API provides capability to validate all subnets associated with any connection in the given FCR + operationId: validateRoutingProtocol + parameters: + - name: routerId + in: path + description: Cloud Router UUID + required: true + schema: + $ref: "#/components/schemas/RouterId" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateRequest" + examples: + ValidateDirectIpv4: + $ref: "#/components/examples/Request-direct-ipv4" + ValidateDirectIpv6: + $ref: "#/components/examples/Request-direct-ipv6" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateSubnetResponse" + examples: + ValidateSubnet: + $ref: "#/components/examples/Response-200" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + Bad Request: + $ref: "#/components/examples/error-400" + Subnet Overlapping: + $ref: "#/components/examples/error-400-overlappingSubnet" + /fabric/v4/routers/search: + post: + tags: + - Cloud Routers + summary: Search Routers + description: The API provides capability to get list of user's Cloud Routers using search criteria, including optional filtering, pagination and sorting + operationId: searchCloudRouters + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterSearchRequest" + examples: + SearchFilterByStatus: + $ref: "#/components/examples/SearchFilterByStatus" + SearchFilterByNameAndMetroName: + $ref: "#/components/examples/SearchFilterByNameAndMetroName" + SearchFilterOrAnd: + $ref: "#/components/examples/SearchFilterOrAnd" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/SearchResponse" + examples: + Example: + $ref: "#/components/examples/search-example" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_sorting" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/routerPackages: + get: + tags: + - Cloud Routers + summary: List Packages + description: This API provides capability to retrieve user's Cloud Routers Packages + operationId: getCloudRouterPackages + parameters: + - name: offset + in: query + description: offset + required: false + schema: + type: integer + example: 1 + - name: limit + in: query + description: number of records to fetch + required: false + schema: + type: integer + example: 10 + responses: + "200": + description: Fabric Cloud Router Packages + content: + application/json: + schema: + $ref: "#/components/schemas/PackageResponse" + examples: + Example: + $ref: "#/components/examples/ListFCRPackagesResponse" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/routerPackages/{routerPackageCode}": + get: + tags: + - Cloud Routers + summary: Get Package Details + description: This API provides capability to retrieve user's Cloud Routers Package Details + operationId: getCloudRouterPackageByCode + parameters: + - name: routerPackageCode + in: path + description: Equinix-assigned Cloud Router package identifier + required: true + schema: + $ref: "#/components/schemas/RouterPackageCode" + responses: + "200": + description: Fabric Cloud Router Package details + content: + application/json: + schema: + $ref: "#/components/schemas/CloudRouterPackage" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_package" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/health: + get: + tags: + - Health + summary: Get service status + description: GET All service health statys with an option query parameter to return all Equinix Fabric customer in which the customer has a presence. + operationId: getStatus + parameters: [] + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/HealthResponse" + examples: + metroExample: + $ref: "#/components/examples/healthResponse" + /fabric/v4/connections/validate: + post: + tags: + - Connections + summary: Validate Connection + description: This API provides capability to validate by auth key + operationId: validateConnections + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateRequest" + examples: + Alibaba-ValidateAuthKey: + $ref: "#/components/examples/Request_Alibaba" + Aws-ValidateAuthKey: + $ref: "#/components/examples/Request_AWS" + Azure-ValidateAuthKey: + $ref: "#/components/examples/Request_Azure" + Google-ValidateAuthKey: + $ref: "#/components/examples/Request_Google" + IBM-1.0-ValidateAuthKey: + $ref: "#/components/examples/Request_IBM_1" + IBM-2.0-ValidateAuthKey: + $ref: "#/components/examples/Request_IBM_2" + Oracle-ValidateAuthKey: + $ref: "#/components/examples/Request_Oracle" + Dot1q-ValidateVlanAvailability: + $ref: "#/components/examples/Dot1q_Vlan" + Qinq-ValidateVlanAvailability: + $ref: "#/components/examples/Qinq_Vlan" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ConnectionResponse" + examples: + Alibaba-ValidateAuthKey: + $ref: "#/components/examples/Response-Alibaba" + Aws-ValidateAuthKey: + $ref: "#/components/examples/Response-Aws" + Azure-ValidateAuthKey-no-existing-connections: + $ref: "#/components/examples/Response-Azure-no-existing-connections" + Azure-ValidateAuthKey-1-existing-Dot1q-connection: + $ref: "#/components/examples/Response-Azure-1-existing-Dot1q-connection" + Azure-ValidateAuthKey-1-existing-Qinq-connection: + $ref: "#/components/examples/Response-Azure-1-existing-Qinq-connection" + Azure-ValidateAuthKey-2-existing-Dot1q-connection: + $ref: "#/components/examples/Response-Azure-2-existing-Dot1q-connections" + Google-ValidateAuthKey: + $ref: "#/components/examples/Response-Google" + IBM-1.0-ValidateAuthKey: + $ref: "#/components/examples/Response-IBM-1" + IBM-2.0-ValidateAuthKey: + $ref: "#/components/examples/Response-IBM-2" + Oracle-ValidateAuthKey: + $ref: "#/components/examples/Response-Oracle" + Dot1q-ValidateAuthKey: + $ref: "#/components/examples/Response-Dot1q-Vlan" + Qinq-ValidateAuthKey: + $ref: "#/components/examples/Response-Qinq-Vlan" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + Bad Request: + $ref: "#/components/examples/error-400" + /fabric/v4/networks: + post: + tags: + - Networks + summary: Create Network + description: This API provides capability to create user's Fabric Network + operationId: createNetwork + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkPostRequest" + examples: + CreateGlobalNetwork: + $ref: "#/components/examples/CreateGlobalNetwork" + CreateRegionalNetwork: + $ref: "#/components/examples/CreateRegionalNetwork" + CreateLocalNetwork: + $ref: "#/components/examples/CreateLocalNetwork" + required: true + responses: + "202": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkPostResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/networks/{networkId}": + get: + tags: + - Networks + summary: Get Network By ID + description: This API provides capability to retrieve user's Fabric Network + operationId: getNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkGetResponseExample" + "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" + delete: + tags: + - Networks + summary: Delete Network By ID + description: This API provides capability to delete user's Fabric Network + operationId: deleteNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "202": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkDeleteResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_state" + "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" + patch: + tags: + - Networks + summary: Update Network By ID + description: This API provides capability to update user's Fabric Network + operationId: updateNetworkByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + requestBody: + content: + application/json-patch+json: + schema: + $ref: "#/components/schemas/NetworkUpdateRequest" + examples: + UpdateName: + $ref: "#/components/examples/UpdateNetworkName" + UpdateNotificationEmail: + $ref: "#/components/examples/UpdateNetworkNotifications" + required: true + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/Network" + examples: + networkResponse: + $ref: "#/components/examples/NetworkPatchResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_state" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + /fabric/v4/networks/search: + post: + tags: + - Networks + summary: Search Network + description: The API provides capability to get list of user's Fabric Network using search criteria, including optional filtering, pagination and sorting + operationId: searchNetworks + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkSearchRequest" + examples: + SearchFilterByStatus: + $ref: "#/components/examples/SearchFilterByStatus" + SearchFilterOrAnd: + $ref: "#/components/examples/SearchFilterOrAnd" + required: true + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkSearchResponse" + examples: + networkResponse: + $ref: "#/components/examples/NetworkSearchResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_sorting" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "/fabric/v4/networks/{networkId}/connections": + get: + tags: + - Networks + summary: Get Connections + description: The API provides capability to get list of user's Fabric Network connections + operationId: getConnectionsByNetworkUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkConnections" + examples: + networkResponse: + $ref: "#/components/examples/GetNetworkConnectionExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_uuid" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "/fabric/v4/networks/{networkId}/changes": + get: + tags: + - Networks + summary: Get Network Changes + description: The API provides capability to get list of user's Fabric Network changes + operationId: getNetworkChanges + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkChangeResponse" + examples: + networkResponse: + $ref: "#/components/examples/NetworkChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_uuid" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "/fabric/v4/networks/{networkId}/changes/{changeId}": + get: + tags: + - Networks + summary: Get Change By ID + description: This API provides capability to retrieve user's Fabric Network Change + operationId: getNetworkChangeByUuid + parameters: + - name: networkId + in: path + description: Network UUID + required: true + schema: + $ref: "#/components/schemas/NetworkId" + - name: changeId + in: path + description: Network Change UUID + required: true + schema: + $ref: "#/components/schemas/ChangeId_3" + responses: + "200": + description: Fabric Network Access point object + content: + application/json: + schema: + $ref: "#/components/schemas/NetworkChange" + examples: + networkResponse: + $ref: "#/components/examples/NetworkGetChangeResponseExample" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/400_invalid_uuid" + "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" + "/fabric/v4/timeServices/{serviceId}": + get: + tags: + - Precision Time + summary: Get Time Service + description: The API provides capability to get precision timing service's details + operationId: getTimeServicesById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + MandatoryName: + $ref: "#/components/examples/400-Mandatory-Name" + InvalidName: + $ref: "#/components/examples/400-Invalid-Name" + ValidateName: + $ref: "#/components/examples/400-Validate-Name" + DuplicateName: + $ref: "#/components/examples/400-Duplicate-Name" + MandatoryConnectionUuid: + $ref: "#/components/examples/400-Mandatory-ConnectionUUid" + InvalidConnectionUuidFormat: + $ref: "#/components/examples/400-Invalid-ConnectionUuid-Format" + InvalidConnectionStatus: + $ref: "#/components/examples/400-Invalid-Connection-Status" + ValidateConnectionUuid: + $ref: "#/components/examples/400-Validate-ConnectionUuid" + InvalidConnectionLocation: + $ref: "#/components/examples/400-Invalid-Connection-Location" + MandatoryPackageType: + $ref: "#/components/examples/400-Mandatory-PackageType" + InvalidPackageType: + $ref: "#/components/examples/400-Invalid-PackageType" + InvalidConnectionPackageType: + $ref: "#/components/examples/400-Invalid-Connection-PackageType" + MandatoryPackage: + $ref: "#/components/examples/400-Mandatory-Package" + InvalidPackage: + $ref: "#/components/examples/400-Invalid-Package" + InvalidConnectionPackage: + $ref: "#/components/examples/400-Invalid-Connection-Package" + MandatoryPrimaryIP: + $ref: "#/components/examples/400-Mandatory-PrimaryIP" + InvalidPrimaryIPFormat: + $ref: "#/components/examples/400-Invalid-PrimaryIP-Format" + ValidatePrimaryIP: + $ref: "#/components/examples/400-Validate-PrimaryIP" + MandatorySecondaryIP: + $ref: "#/components/examples/400-Mandatory-SecondaryIP" + InvalidSecondaryIPFormat: + $ref: "#/components/examples/400-Invalid-SecondaryIP-Format" + ValidateSecondaryIP: + $ref: "#/components/examples/400-Validate-SecondaryIP" + ValidateSameSubnet: + $ref: "#/components/examples/400-Validate-SameSubnet" + MandatoryNetworkMask: + $ref: "#/components/examples/400-Mandatory-NetworkMask" + InvalidNetworkMaskFormat: + $ref: "#/components/examples/400-Invalid-NetworkMask-Format" + ValidateNetworkMask: + $ref: "#/components/examples/400-Validate-NetworkMask" + InvalidDefaultGatewayFormat: + $ref: "#/components/examples/400-Invalid-DefaultGateway-Format" + ValidateDefaultGateway: + $ref: "#/components/examples/400-Validate-DefaultGateway" + InvalidTimeScale: + $ref: "#/components/examples/400-Invalid-TimeScale" + InvalidDomain: + $ref: "#/components/examples/400-Invalid-Domain" + InvalidPriority1: + $ref: "#/components/examples/400-Invalid-Priority1" + InvalidPriority2: + $ref: "#/components/examples/400-Invalid-Priority2" + InvalidLogAnnounceInterval: + $ref: "#/components/examples/400-Invalid-LogAnnounceInterval" + ValidateLogAnnounceIntervalRange: + $ref: "#/components/examples/400-Validate-LogAnnounceInterval-Range" + InvalidLogSyncInterval: + $ref: "#/components/examples/400-Invalid-LogSyncInterval" + ValidateLogSyncIntervalRange: + $ref: "#/components/examples/400-Validate-LogSyncInterval-Range" + InvalidLogDelayReqInterval: + $ref: "#/components/examples/400-Invalid-LogDelayReqInterval" + ValidateLogDelayReqIntervalRange: + $ref: "#/components/examples/400-Validate-LogDelayReqInterval-Range" + InvalidTransportMode: + $ref: "#/components/examples/400-Invalid-TransportMode" + InvalidGrantTime: + $ref: "#/components/examples/400-Invalid-GrantTime" + ValidateGrantTimeRange: + $ref: "#/components/examples/400-Validate-GrantTime-Range" + InvalidType: + $ref: "#/components/examples/400-Invalid-Type" + InvalidId: + $ref: "#/components/examples/400-Invalid-Id" + InvalidPassword: + $ref: "#/components/examples/400-Invalid-Password" + ValidatePassword: + $ref: "#/components/examples/400-Validate-Password" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + delete: + tags: + - Precision Time + summary: Delete time service + description: Delete EPT service by it's uuid + operationId: deleteTimeServiceById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + patch: + tags: + - Precision Time + summary: Patch time service + description: The API provides capability to update timing service + operationId: updateTimeServicesById + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + requestBody: + content: + application/json-patch+json: + schema: + maxItems: 1 + minItems: 1 + type: array + items: + $ref: "#/components/schemas/precisionTimeChangeOperation" + examples: + editName: + $ref: "#/components/examples/edit" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + MandatoryName: + $ref: "#/components/examples/400-Mandatory-Name" + InvalidName: + $ref: "#/components/examples/400-Invalid-Name" + ValidateName: + $ref: "#/components/examples/400-Validate-Name" + DuplicateName: + $ref: "#/components/examples/400-Duplicate-Name" + MandatoryConnectionUuid: + $ref: "#/components/examples/400-Mandatory-ConnectionUUid" + InvalidConnectionUuidFormat: + $ref: "#/components/examples/400-Invalid-ConnectionUuid-Format" + InvalidConnectionStatus: + $ref: "#/components/examples/400-Invalid-Connection-Status" + ValidateConnectionUuid: + $ref: "#/components/examples/400-Validate-ConnectionUuid" + InvalidConnectionLocation: + $ref: "#/components/examples/400-Invalid-Connection-Location" + MandatoryPackageType: + $ref: "#/components/examples/400-Mandatory-PackageType" + InvalidPackageType: + $ref: "#/components/examples/400-Invalid-PackageType" + InvalidConnectionPackageType: + $ref: "#/components/examples/400-Invalid-Connection-PackageType" + MandatoryPackage: + $ref: "#/components/examples/400-Mandatory-Package" + InvalidPackage: + $ref: "#/components/examples/400-Invalid-Package" + InvalidConnectionPackage: + $ref: "#/components/examples/400-Invalid-Connection-Package" + MandatoryPrimaryIP: + $ref: "#/components/examples/400-Mandatory-PrimaryIP" + InvalidPrimaryIPFormat: + $ref: "#/components/examples/400-Invalid-PrimaryIP-Format" + ValidatePrimaryIP: + $ref: "#/components/examples/400-Validate-PrimaryIP" + MandatorySecondaryIP: + $ref: "#/components/examples/400-Mandatory-SecondaryIP" + InvalidSecondaryIPFormat: + $ref: "#/components/examples/400-Invalid-SecondaryIP-Format" + ValidateSecondaryIP: + $ref: "#/components/examples/400-Validate-SecondaryIP" + ValidateSameSubnet: + $ref: "#/components/examples/400-Validate-SameSubnet" + MandatoryNetworkMask: + $ref: "#/components/examples/400-Mandatory-NetworkMask" + InvalidNetworkMaskFormat: + $ref: "#/components/examples/400-Invalid-NetworkMask-Format" + ValidateNetworkMask: + $ref: "#/components/examples/400-Validate-NetworkMask" + InvalidDefaultGatewayFormat: + $ref: "#/components/examples/400-Invalid-DefaultGateway-Format" + ValidateDefaultGateway: + $ref: "#/components/examples/400-Validate-DefaultGateway" + InvalidTimeScale: + $ref: "#/components/examples/400-Invalid-TimeScale" + InvalidDomain: + $ref: "#/components/examples/400-Invalid-Domain" + InvalidPriority1: + $ref: "#/components/examples/400-Invalid-Priority1" + InvalidPriority2: + $ref: "#/components/examples/400-Invalid-Priority2" + InvalidLogAnnounceInterval: + $ref: "#/components/examples/400-Invalid-LogAnnounceInterval" + ValidateLogAnnounceIntervalRange: + $ref: "#/components/examples/400-Validate-LogAnnounceInterval-Range" + InvalidLogSyncInterval: + $ref: "#/components/examples/400-Invalid-LogSyncInterval" + ValidateLogSyncIntervalRange: + $ref: "#/components/examples/400-Validate-LogSyncInterval-Range" + InvalidLogDelayReqInterval: + $ref: "#/components/examples/400-Invalid-LogDelayReqInterval" + ValidateLogDelayReqIntervalRange: + $ref: "#/components/examples/400-Validate-LogDelayReqInterval-Range" + InvalidTransportMode: + $ref: "#/components/examples/400-Invalid-TransportMode" + InvalidGrantTime: + $ref: "#/components/examples/400-Invalid-GrantTime" + ValidateGrantTimeRange: + $ref: "#/components/examples/400-Validate-GrantTime-Range" + InvalidType: + $ref: "#/components/examples/400-Invalid-Type" + InvalidId: + $ref: "#/components/examples/400-Invalid-Id" + InvalidPassword: + $ref: "#/components/examples/400-Invalid-Password" + ValidatePassword: + $ref: "#/components/examples/400-Validate-Password" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/timeServices: + post: + tags: + - Precision Time + summary: Create Time Service + description: The API provides capability to create timing service + operationId: createTimeServices + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceRequest" + examples: + ntpSingleStandard: + $ref: "#/components/examples/ntpSingleStandard" + ptpSingleStandard: + $ref: "#/components/examples/ptpSingleStandard" + ptpSingleEnterpriseWithAdvanceConfiguration: + $ref: "#/components/examples/ptpSingleEnterpriseWithAdvanceConfiguration" + required: true + responses: + "202": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceCreateResponse" + examples: + NtpStandard: + $ref: "#/components/examples/ntpStandardCreateResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + MandatoryName: + $ref: "#/components/examples/400-Mandatory-Name" + InvalidName: + $ref: "#/components/examples/400-Invalid-Name" + ValidateName: + $ref: "#/components/examples/400-Validate-Name" + DuplicateName: + $ref: "#/components/examples/400-Duplicate-Name" + MandatoryConnectionUuid: + $ref: "#/components/examples/400-Mandatory-ConnectionUUid" + InvalidConnectionUuidFormat: + $ref: "#/components/examples/400-Invalid-ConnectionUuid-Format" + InvalidConnectionStatus: + $ref: "#/components/examples/400-Invalid-Connection-Status" + ValidateConnectionUuid: + $ref: "#/components/examples/400-Validate-ConnectionUuid" + InvalidConnectionLocation: + $ref: "#/components/examples/400-Invalid-Connection-Location" + MandatoryPackageType: + $ref: "#/components/examples/400-Mandatory-PackageType" + InvalidPackageType: + $ref: "#/components/examples/400-Invalid-PackageType" + InvalidConnectionPackageType: + $ref: "#/components/examples/400-Invalid-Connection-PackageType" + MandatoryPackage: + $ref: "#/components/examples/400-Mandatory-Package" + InvalidPackage: + $ref: "#/components/examples/400-Invalid-Package" + InvalidConnectionPackage: + $ref: "#/components/examples/400-Invalid-Connection-Package" + MandatoryPrimaryIP: + $ref: "#/components/examples/400-Mandatory-PrimaryIP" + InvalidPrimaryIPFormat: + $ref: "#/components/examples/400-Invalid-PrimaryIP-Format" + ValidatePrimaryIP: + $ref: "#/components/examples/400-Validate-PrimaryIP" + MandatorySecondaryIP: + $ref: "#/components/examples/400-Mandatory-SecondaryIP" + InvalidSecondaryIPFormat: + $ref: "#/components/examples/400-Invalid-SecondaryIP-Format" + ValidateSecondaryIP: + $ref: "#/components/examples/400-Validate-SecondaryIP" + ValidateSameSubnet: + $ref: "#/components/examples/400-Validate-SameSubnet" + MandatoryNetworkMask: + $ref: "#/components/examples/400-Mandatory-NetworkMask" + InvalidNetworkMaskFormat: + $ref: "#/components/examples/400-Invalid-NetworkMask-Format" + ValidateNetworkMask: + $ref: "#/components/examples/400-Validate-NetworkMask" + InvalidDefaultGatewayFormat: + $ref: "#/components/examples/400-Invalid-DefaultGateway-Format" + ValidateDefaultGateway: + $ref: "#/components/examples/400-Validate-DefaultGateway" + InvalidTimeScale: + $ref: "#/components/examples/400-Invalid-TimeScale" + InvalidDomain: + $ref: "#/components/examples/400-Invalid-Domain" + InvalidPriority1: + $ref: "#/components/examples/400-Invalid-Priority1" + InvalidPriority2: + $ref: "#/components/examples/400-Invalid-Priority2" + InvalidLogAnnounceInterval: + $ref: "#/components/examples/400-Invalid-LogAnnounceInterval" + ValidateLogAnnounceIntervalRange: + $ref: "#/components/examples/400-Validate-LogAnnounceInterval-Range" + InvalidLogSyncInterval: + $ref: "#/components/examples/400-Invalid-LogSyncInterval" + ValidateLogSyncIntervalRange: + $ref: "#/components/examples/400-Validate-LogSyncInterval-Range" + InvalidLogDelayReqInterval: + $ref: "#/components/examples/400-Invalid-LogDelayReqInterval" + ValidateLogDelayReqIntervalRange: + $ref: "#/components/examples/400-Validate-LogDelayReqInterval-Range" + InvalidTransportMode: + $ref: "#/components/examples/400-Invalid-TransportMode" + InvalidGrantTime: + $ref: "#/components/examples/400-Invalid-GrantTime" + ValidateGrantTimeRange: + $ref: "#/components/examples/400-Validate-GrantTime-Range" + InvalidType: + $ref: "#/components/examples/400-Invalid-Type" + InvalidId: + $ref: "#/components/examples/400-Invalid-Id" + InvalidPassword: + $ref: "#/components/examples/400-Invalid-Password" + ValidatePassword: + $ref: "#/components/examples/400-Validate-Password" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/timeServices/{serviceId}/connections": + get: + tags: + - Precision Time + summary: Get Connection Links + description: The API provides capability to get prevision timing service's details + operationId: getTimeServicesConnectionsByServiceId + parameters: + - name: serviceId + in: path + description: Service UUID + required: true + schema: + $ref: "#/components/schemas/ServiceId" + responses: + "200": + description: Return Time Service Connection + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServiceConnectionsResponse" + examples: + example: + $ref: "#/components/examples/serviceConnectionsResponse" + "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" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + /fabric/v4/timeServicePackages: + get: + tags: + - Precision Time + summary: Get Packages + description: The API provides capability to get timing service's packages + operationId: getTimeServicesPackages + parameters: [] + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimeServicePackagesResponse" + examples: + example: + $ref: "#/components/examples/servicePackagesResponse" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" + "/fabric/v4/timeServicePackages/{packageCode}": + get: + tags: + - Precision Time + summary: Get Package By Code + description: The API provides capability to get timing service's package by code + operationId: getTimeServicesPackageByCode + parameters: + - name: packageCode + in: path + description: Package Code + required: true + schema: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/precisionTimePackageResponse" + examples: + example: + $ref: "#/components/examples/servicePackageResponse" + "415": + description: Unsupported Media Type + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/415" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" +components: + schemas: + ConnectionPostRequest: + required: + - aSide + - bandwidth + - name + - notifications + - type + - zSide + type: object + properties: + type: + $ref: "#/components/schemas/ConnectionType" + name: + type: string + description: Customer-provided connection name + order: + $ref: "#/components/schemas/Order" + notifications: + type: array + description: Preferences for notifications on connection configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + bandwidth: + maximum: 50000 + minimum: 0 + type: integer + description: Connection bandwidth in Mbps + geoScope: + $ref: "#/components/schemas/GeoScopeType" + redundancy: + $ref: "#/components/schemas/ConnectionRedundancy" + aSide: + $ref: "#/components/schemas/ConnectionSide" + zSide: + $ref: "#/components/schemas/ConnectionSide" + project: + $ref: "#/components/schemas/Project" + additionalInfo: + type: array + description: Connection additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + description: Create connection post request + Connection: + required: + - aSide + - bandwidth + - name + - type + - zSide + type: object + properties: + type: + $ref: "#/components/schemas/ConnectionType" + href: + type: string + description: Connection URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + name: + type: string + description: Customer-provided connection name + description: + type: string + description: Customer-provided connection description + state: + $ref: "#/components/schemas/ConnectionState" + change: + $ref: "#/components/schemas/Change" + operation: + $ref: "#/components/schemas/ConnectionOperation" + order: + $ref: "#/components/schemas/Order" + notifications: + type: array + description: Preferences for notifications on connection configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + account: + $ref: "#/components/schemas/SimplifiedAccount" + changeLog: + $ref: "#/components/schemas/Changelog" + bandwidth: + maximum: 10000 + minimum: 0 + type: integer + description: Connection bandwidth in Mbps + geoScope: + $ref: "#/components/schemas/GeoScopeType" + redundancy: + $ref: "#/components/schemas/ConnectionRedundancy" + isRemote: + type: boolean + description: Connection property derived from access point locations + direction: + $ref: "#/components/schemas/ConnectionDirection" + aSide: + $ref: "#/components/schemas/ConnectionSide" + zSide: + $ref: "#/components/schemas/ConnectionSide" + additionalInfo: + type: array + description: Connection additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + project: + $ref: "#/components/schemas/Project" + description: Connection specification + ErrorList: + type: array + description: List of Error Message + items: + $ref: "#/components/schemas/Error" + ConnectionId: + type: string + description: Connection UUID + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + ConnectionDirection: + type: string + description: Connection directionality from the requester point of view + enum: + - INTERNAL + - INCOMING + - OUTGOING + VirtualCircuitId: + type: string + description: Virtual Circuit UUID + ConnectionUpdateRequest: + minItems: 1 + type: array + description: Connection Update Request + items: + $ref: "#/components/schemas/ConnectionChangeOperation" + ConnectionActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/Actions" + description: + type: string + description: Connection rejection reason datail + data: + $ref: "#/components/schemas/ConnectionAcceptanceData" + description: Connection action request + ConnectionAction: + required: + - data + - href + - type + - uuid + type: object + properties: + type: + $ref: "#/components/schemas/Actions" + href: + type: string + description: Connection action URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + description: + type: string + description: Connection rejection reason detail + data: + $ref: "#/components/schemas/ConnectionAcceptanceData" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Connection action + GetResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Routing Protocols + items: + $ref: "#/components/schemas/RoutingProtocolData" + RoutingProtocolBase: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + - DIRECT + oneOf: + - $ref: "#/components/schemas/RoutingProtocolBGPType" + - $ref: "#/components/schemas/RoutingProtocolDirectType" + RoutingProtocolBGPType: + required: + - type + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + name: + type: string + example: My-BGP-route-1 + bgpIpv4: + $ref: "#/components/schemas/BGPConnectionIpv4" + bgpIpv6: + $ref: "#/components/schemas/BGPConnectionIpv6" + customerAsn: + type: integer + description: Customer asn + format: int64 + equinixAsn: + type: integer + description: Equinix asn + format: int64 + bgpAuthKey: + type: string + description: BGP authorization key + bfd: + $ref: "#/components/schemas/RoutingProtocolBFD" + RoutingProtocolDirectType: + required: + - type + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - DIRECT + name: + type: string + example: My-direct-route-1 + directIpv4: + $ref: "#/components/schemas/DirectConnectionIpv4" + directIpv6: + $ref: "#/components/schemas/DirectConnectionIpv6" + RoutingProtocolData: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + - DIRECT + oneOf: + - $ref: "#/components/schemas/RoutingProtocolBGPData" + - $ref: "#/components/schemas/RoutingProtocolDirectData" + ConnectionRoutingProtocolPostRequest: + type: object + properties: + data: + type: array + description: Connection routing protocol configuration + items: + $ref: "#/components/schemas/RoutingProtocolBase" + description: Create connection routing protocolpost request + RoutingProtocolId: + type: string + description: Routing Protocol UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + ConnectionRoutingProtocolPatchRequest: + minItems: 1 + type: array + description: Patch connection routing protocol request + items: + $ref: "#/components/schemas/ConnectionChangeOperation" + BGPActionsBulkData: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/BGPActionData" + description: List of BGP Actions + BGPActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/BGPActions" + description: BGP action request + BGPActionData: + type: object + properties: + href: + type: string + description: Routing Protocol URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5/actions + uuid: + type: string + description: Routing protocol identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: + $ref: "#/components/schemas/BGPActions" + description: + type: string + description: BGP action description + state: + $ref: "#/components/schemas/BGPActionStates" + changelog: + $ref: "#/components/schemas/Changelog" + ActionId: + type: string + description: BGP Action UUID + format: uuid + example: 86534014-34b4-53f6-45d6-4b94a92d8623 + ChangeId: + type: string + description: Routing Protocol Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RoutingProtocolChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/RoutingProtocolChangeOperation" + description: Current state of latest Routing Protocol change + allOf: + - $ref: "#/components/schemas/RoutingProtocolChange" + RoutingProtocolChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RoutingProtocolChangeData" + description: List of network changes + SearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/Expression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/SortCriteria" + description: Search requests containing criteria + Expression: + type: object + properties: + and: + $ref: "#/components/schemas/Expressions" + or: + $ref: "#/components/schemas/Expressions" + property: + $ref: "#/components/schemas/SearchFieldName" + operator: + type: string + enum: + - = + - "!=" + - ">" + - ">=" + - < + - <= + - BETWEEN + - NOT BETWEEN + - LIKE + - NOT LIKE + - IN + - NOT IN + - IS NOT NULL + - IS NULL + values: + type: array + items: + type: string + Expressions: + type: array + items: + $ref: "#/components/schemas/Expression" + SearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /isRemote + - /name + - /uuid + - /type + - /geoScope + - /account/orgId + - /aSide/accessPoint/account/accountName + - /aSide/accessPoint/account/accountNumber + - /aSide/accessPoint/router/uuid + - /aSide/accessPoint/linkProtocol/vlanCTag + - /aSide/accessPoint/linkProtocol/vlanSTag + - /aSide/accessPoint/linkProtocol/vlanTagMin + - /aSide/accessPoint/linkProtocol/vlanTagMax + - /aSide/accessPoint/location/metroCode + - /aSide/accessPoint/location/metroName + - /aSide/accessPoint/name + - /aSide/accessPoint/port/uuid + - /aSide/accessPoint/port/name + - /aSide/accessPoint/type + - /aSide/accessPoint/virtualDevice/name + - /aSide/accessPoint/virtualDevice/uuid + - /aSide/serviceToken/uuid + - /change/status + - /operation/equinixStatus + - /operation/providerStatus + - /project/projectId + - /redundancy/group + - /redundancy/priority + - /zSide/accessPoint/account/accountName + - /zSide/accessPoint/authenticationKey + - /zSide/accessPoint/linkProtocol/vlanCTag + - /zSide/accessPoint/linkProtocol/vlanSTag + - /zSide/accessPoint/linkProtocol/vlanTagMin + - /zSide/accessPoint/linkProtocol/vlanTagMax + - /zSide/accessPoint/location/metroCode + - /zSide/accessPoint/location/metroName + - /zSide/accessPoint/name + - /zSide/accessPoint/port/uuid + - /zSide/accessPoint/network/uuid + - /zSide/accessPoint/port/name + - /zSide/accessPoint/profile/uuid + - /zSide/accessPoint/type + - /zSide/accessPoint/virtualDevice/name + - /zSide/accessPoint/virtualDevice/uuid + - /zSide/serviceToken/uuid + - /zSide/internetAccess/uuid + - "*" + SortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/SortDirection" + property: + $ref: "#/components/schemas/SortBy" + ConnectionSearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + sort: + type: array + items: + $ref: "#/components/schemas/SortCriteriaResponse" + data: + type: array + items: + $ref: "#/components/schemas/Connection" + description: List of connections + FilterBody: + type: object + properties: + filter: + $ref: "#/components/schemas/SearchExpression" + description: Search requests containing criteria + SearchExpression: + type: object + properties: + and: + $ref: "#/components/schemas/SearchExpressions" + or: + $ref: "#/components/schemas/SearchExpressions" + property: + type: string + operator: + type: string + enum: + - = + - "!=" + - ">" + - ">=" + - < + - <= + - BETWEEN + - NOT BETWEEN + - LIKE + - NOT LIKE + - IN + - NOT IN + - IS NOT NULL + - IS NULL + values: + type: array + items: + type: string + SearchExpressions: + type: array + items: + $ref: "#/components/schemas/SearchExpression" + PriceSearchResponse: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/Price" + pagination: + $ref: "#/components/schemas/Pagination" + PriceErrorList: + type: array + items: + $ref: "#/components/schemas/PriceError" + PriceError: + required: + - errorCode + - errorMessage + type: object + properties: + errorCode: + type: string + enum: + - EQ-3038010 + - EQ-3038022 + - EQ-3038030 + errorMessage: + type: string + enum: + - Validation failure + - Invalid value + - Internal Server Error + correlationId: + type: string + details: + type: string + help: + type: string + additionalInfo: + type: array + items: + $ref: "#/components/schemas/PriceError_additionalInfo" + description: Error with details + discriminator: + propertyName: errorCode + PortUUID: + type: string + description: Port UUID + format: uuid + startDateTime: + type: string + description: startDateTime + format: date-time + example: 2020-11-06T07:00:00Z + endDateTime: + type: string + description: endDateTime + format: date-time + example: 2020-11-06T07:00:00Z + Statistics: + type: object + properties: + startDateTime: + type: string + description: Start and duration of the statistical analysis interval. + format: date-time + example: 2020-11-06T07:00:00Z + endDateTime: + type: string + description: End and duration of the statistical analysis interval. + format: date-time + example: 2020-11-06T07:00:00Z + viewPoint: + type: string + description: Point of view for connection metrics - aSide or zSide + enum: + - aSide + - zSide + bandwidthUtilization: + $ref: "#/components/schemas/BandwidthUtilization" + description: This API provides service-level traffic metrics so that you can view access and gather key information required to manage service subscription sizing and capacity. + BandwidthUtilization: + type: object + properties: + unit: + type: string + description: Aggregated data transfer capacity. Possible values- Mbps, megabits (1 million bits) per second; Gbps, gigabits (1 billion bits) per second. + enum: + - Mbps + metricInterval: + type: string + description: An interval formatted value, indicating the time-interval the metric objects within the response represent + inbound: + $ref: "#/components/schemas/Direction" + outbound: + $ref: "#/components/schemas/Direction" + description: Bandwidth utilization statistics (octet counters-based) + Direction: + type: object + properties: + max: + type: number + description: Max bandwidth within request time range, represented in units specified by response "units" field + format: float + mean: + type: number + description: Mean bandwidth within request time range, represented in units specified by response "units" field + format: float + metrics: + type: array + description: Bandwidth utilization statistics for a specified interval. + items: + $ref: "#/components/schemas/Metrics" + description: Directional statistics + Metrics: + type: object + properties: + intervalEndTimestamp: + type: string + description: Interval end timestamp + format: date-time + example: 2020-11-06T07:00:00Z + max: + type: number + description: Max bandwidth within statistics object time interval, represented in units specified by response "units" field + format: float + mean: + type: number + description: Mean bandwidth within statistics object time interval, represented in units specified by response "units" field + format: float + description: Bandwidth utilization statistics for a specified interval. + sort: + type: string + description: Key or set of keys that organizes the search payload by property (such as createdDate or metroCode) or by direction. Ascending (ASC) is the default value. The "?" prefix indicates descending (DESC) order. + default: -bandwidthUtilization + enum: + - -bandwidthUtilization + top: + type: integer + description: Filter returning only the specified number of most heavily trafficked ports. The standard value is [1...10], and the default is 5. + default: 5 + duration: + type: string + description: Duration of the statistical analysis interval. + default: P7D + enum: + - P7D + - P1M + - P3M + query_direction: + type: string + description: Direction of traffic from the requester's viewpoint. + default: outbound + enum: + - inbound + - outbound + metricInterval: + type: string + description: metric interval + default: P7D + enum: + - P7D + metros: + type: array + description: Two-letter prefix indicating the metropolitan area in which a specified Equinix asset is located. + items: + type: string + projectId: + type: string + description: projectId + example: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + TopUtilizedStatistics: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/Statistics" + description: This API provides service-level traffic metrics for the top utilized ports so that you can view access and gather key information required to manage service subscription sizing and capacity. + viewPoint: + type: string + description: viewPoint + enum: + - aSide + - zSide + ServiceProfiles: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ServiceProfile" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service Profiles + ServiceProfileRequest: + required: + - description + - name + - type + type: object + properties: + project: + $ref: "#/components/schemas/Project" + description: | + Service Profile is a software definition for a named provider service and it's network connectivity requirements. + This includes the basic marketing information and one + or more sets of access points (a set per each access point type) fulfilling the provider service. + allOf: + - $ref: "#/components/schemas/SimplifiedServiceProfile" + SimplifiedServiceProfile: + type: object + properties: + href: + type: string + description: Service Profile URI response attribute + format: uri + readOnly: true + type: + $ref: "#/components/schemas/ServiceProfileTypeEnum" + name: + maxLength: 50 + type: string + description: Customer-assigned service profile name + example: Sample Service Profile + uuid: + type: string + description: Equinix-assigned service profile identifier + format: uuid + description: + type: string + description: User-provided service description should be of maximum length 375 + example: offering connectivity to my-network + notifications: + type: array + description: Recipients of notifications on service profile change + items: + $ref: "#/components/schemas/SimplifiedNotification" + tags: + $ref: "#/components/schemas/Tags" + visibility: + $ref: "#/components/schemas/ServiceProfileVisibilityEnum" + allowedEmails: + type: array + items: + type: string + format: email + accessPointTypeConfigs: + minItems: 1 + type: array + items: + $ref: "#/components/schemas/ServiceProfileAccessPointType" + customFields: + type: array + items: + $ref: "#/components/schemas/CustomField" + marketingInfo: + $ref: "#/components/schemas/MarketingInfo" + ports: + type: array + items: + $ref: "#/components/schemas/ServiceProfileAccessPointCOLO" + virtualDevices: + type: array + items: + $ref: "#/components/schemas/ServiceProfileAccessPointVD" + metros: + type: array + description: Derived response attribute. + items: + $ref: "#/components/schemas/ServiceMetro" + selfProfile: + type: boolean + description: response attribute indicates whether the profile belongs to the same organization as the api-invoker. + projectId: + type: string + description: | + Service Profile is a software definition for a named provider service and it's network connectivity requirements. + This includes the basic marketing information and one + or more sets of access points (a set per each access point type) fulfilling the provider service. + Tags: + type: array + items: + type: string + ServiceProfileAccessPointType: + type: object + description: Access Point Type + oneOf: + - $ref: "#/components/schemas/ServiceProfileAccessPointTypeCOLO" + - $ref: "#/components/schemas/ServiceProfileAccessPointTypeVD" + ServiceProfileAccessPointTypeCOLO: + required: + - type + type: object + properties: + uuid: + type: string + type: + $ref: "#/components/schemas/ServiceProfileAccessPointTypeEnum" + supportedBandwidths: + $ref: "#/components/schemas/Bandwidths" + allowRemoteConnections: + type: boolean + description: Setting to allow or prohibit remote connections to the service profile. + example: true + default: false + allowCustomBandwidth: + type: boolean + description: Setting to enable or disable the ability of the buyer to customize the bandwidth. + example: true + default: false + bandwidthAlertThreshold: + type: number + description: percentage of port bandwidth at which an allocation alert is generated - missing on wiki. + allowBandwidthAutoApproval: + type: boolean + description: Setting to enable or disable the ability of the buyer to change connection bandwidth without approval of the seller. + default: false + allowBandwidthUpgrade: + type: boolean + description: Availability of a bandwidth upgrade. The default is false. + linkProtocolConfig: + $ref: "#/components/schemas/ServiceProfileLinkProtocolConfig" + enableAutoGenerateServiceKey: + type: boolean + description: for verizon only. + connectionRedundancyRequired: + type: boolean + description: Mandate redundant connections + example: true + default: false + apiConfig: + $ref: "#/components/schemas/ApiConfig" + connectionLabel: + type: string + description: custom name for "Connection" + authenticationKey: + $ref: "#/components/schemas/AuthenticationKey" + metadata: + $ref: "#/components/schemas/ServiceProfileMetadata" + description: Colo Access Point Type + ServiceProfileAccessPointTypeEnum: + type: string + description: Access point type + enum: + - VD + - COLO + Bandwidths: + type: array + items: + $ref: "#/components/schemas/Bandwidth" + Bandwidth: + type: integer + description: speed in Mbps + example: 50 + ServiceProfileLinkProtocolConfig: + type: object + properties: + encapsulationStrategy: + type: string + description: was tagType - missing on wiki + enum: + - CTAGED + - BOTH + - NAMED + namedTags: + maxItems: 64 + type: array + items: + type: string + vlanCTagLabel: + type: string + description: was ctagLabel + reuseVlanSTag: + type: boolean + example: true + default: false + encapsulation: + type: string + description: Port encapsulation - Derived response attribute. Ignored on request payloads. + enum: + - QINQ + - DOT1Q + - UNTAGGED + description: Configuration for dot1q to qinq translation support + ApiConfig: + type: object + properties: + apiAvailable: + type: boolean + description: Setting indicating whether the API is available (true) or not (false). + example: true + default: false + integrationId: + type: string + equinixManagedPort: + type: boolean + description: Setting indicating that the port is managed by Equinix (true) or not (false). + example: true + default: false + equinixManagedVlan: + type: boolean + description: Setting indicating that the VLAN is managed by Equinix (true) or not (false). + example: true + default: false + allowOverSubscription: + type: boolean + description: | + Setting showing that oversubscription support is available (true) or not (false). The default is false. + Oversubscription is the sale of more than the available network bandwidth. This practice is common + and legitimate. After all, many customers use less bandwidth than they've purchased. + And network users don't consume bandwidth all at the same time. The leftover bandwidth can be sold to + other customers. When demand surges, operational and engineering resources can be shifted to + accommodate the load. + example: false + default: false + overSubscriptionLimit: + maximum: 20 + minimum: 1 + type: integer + description: A cap on oversubscription. + example: 1 + default: 1 + bandwidthFromApi: + type: boolean + default: false + description: Configuration for API based Integration for Service Profile + AuthenticationKey: + type: object + properties: + required: + type: boolean + example: true + default: false + label: + type: string + example: Service Key + description: + type: string + example: description for the authentication key + description: Authentication Key Support and Customization + ServiceProfileMetadata: + type: object + properties: + props: + type: string + regEx: + type: string + regExMsg: + type: string + vlanRangeMaxValue: + type: integer + vlanRangeMinValue: + type: integer + maxQinq: + type: string + maxDot1q: + type: integer + variableBilling: + type: boolean + globalOrganization: + type: string + limitAuthKeyConn: + type: boolean + allowSecondaryLocation: + type: boolean + redundantProfileId: + type: string + allowVcMigration: + type: boolean + connectionEditable: + type: boolean + releaseVlan: + type: boolean + maxConnectionsOnPort: + type: integer + portAssignmentStrategy: + type: string + eqxManagedPort: + type: boolean + connectionNameEditable: + type: boolean + description: Metadata. Response attribute. Ignored on request payload. + ServiceProfileAccessPointTypeVD: + required: + - type + type: object + properties: + uuid: + type: string + type: + $ref: "#/components/schemas/ServiceProfileAccessPointTypeEnum" + supportedBandwidths: + $ref: "#/components/schemas/Bandwidths" + allowRemoteConnections: + type: boolean + description: Allow remote connections to Service Profile + example: true + allowCustomBandwidth: + type: boolean + example: true + additionalProperties: false + description: VirtualDevice Access Point Type + CustomField: + required: + - dataType + - description + - isRequired + - label + properties: + label: + type: string + example: Account Number + description: + type: string + example: Provide a valid account number + required: + type: boolean + example: true + dataType: + type: string + enum: + - STRING + - LIST + - NUMBER + options: + type: array + items: + type: string + captureInEmail: + type: boolean + description: capture this field as a part of email notification + description: Define Custom Attributes + MarketingInfo: + type: object + properties: + logo: + type: string + description: Logo file name + promotion: + type: boolean + description: Profile promotion on marketplace + processSteps: + maxItems: 3 + type: array + items: + $ref: "#/components/schemas/ProcessStep" + ProcessStep: + type: object + properties: + title: + type: string + description: Service profile custom step title + subTitle: + type: string + description: Service profile custom step sub title + description: + type: string + description: Service profile custom step description + description: Definition of customized step while making connection + ServiceProfileAccessPointCOLO: + required: + - type + - uuid + type: object + properties: + type: + type: string + enum: + - XF_PORT + uuid: + type: string + format: uuid + example: 94662143-e21b-4098-bfcf-e9416f47eae1 + location: + $ref: "#/components/schemas/SimplifiedLocation" + sellerRegion: + type: string + sellerRegionDescription: + type: string + crossConnectId: + type: string + description: Colo Access Point + ServiceProfileAccessPointVD: + required: + - type + - uuid + type: object + properties: + type: + type: string + enum: + - VD + uuid: + type: string + format: uuid + example: 94662143-e21b-4098-bfcf-e9416f47eae1 + location: + $ref: "#/components/schemas/SimplifiedLocation" + interfaceUuid: + type: string + format: uuid + example: 94662143-e21b-4098-bfcf-e9416f47eae1 + description: Virtual Device Point + ServiceMetro: + type: object + properties: + code: + type: string + description: metro code + name: + type: string + description: metro name + vcBandwidthMax: + type: integer + description: max VC speed supported in Mbps + ibxs: + type: array + items: + type: string + description: ibx codes + inTrail: + type: boolean + displayName: + type: string + description: service metro display name + sellerRegions: + type: object + additionalProperties: + type: string + ServiceProfile: + type: object + properties: + state: + $ref: "#/components/schemas/ServiceProfileStateEnum" + account: + description: Seller Account for Service Profile. + allOf: + - $ref: "#/components/schemas/SimplifiedAccount" + - type: object + project: + $ref: "#/components/schemas/Project" + changeLog: + description: Seller Account for Service Profile. + allOf: + - $ref: "#/components/schemas/Changelog" + - type: object + description: | + Service Profile is a software definition for a named provider service and it's network connectivity requirements. + This includes the basic marketing information and one + or more sets of access points (a set per each access point type) fulfilling the provider service. + allOf: + - $ref: "#/components/schemas/SimplifiedServiceProfile" + ServiceProfileSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/ServiceProfileFilter" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/ServiceProfileSortCriteria" + description: Search requests containing criteria + ServiceProfileFilter: + type: object + anyOf: + - $ref: "#/components/schemas/ServiceProfileSimpleExpression" + - $ref: "#/components/schemas/ServiceProfileAndFilter" + ServiceProfileSimpleExpression: + type: object + properties: + property: + type: string + description: | + Possible field names to use on filters: + * `/name` - Service Profile name + * `/uuid` - Service Profile uuid + * `/state` - Service Profile status + * `/metros/code` - Service Profile metro code + * `/visibility` - Service Profile package + * `/type` - Service Profile package + * `/project/projectId` - Service Profile project id + example: /name + operator: + type: string + description: | + Possible operators to use on filters: + * `=` - equal + example: = + values: + type: array + items: + type: string + example: ServiceProfile-1 + ServiceProfileAndFilter: + type: object + properties: + and: + type: array + items: + $ref: "#/components/schemas/ServiceProfileSimpleExpression" + ServiceProfileSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/ServiceProfileSortDirection" + property: + $ref: "#/components/schemas/ServiceProfileSortBy" + ServiceProfileSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + ServiceProfileSortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /state + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + ServiceProfileId: + type: string + description: Service Profile UUID + format: uuid + JsonPatch: + type: array + items: + $ref: "#/components/schemas/JsonPatchOperation" + JsonPatchOperation: + type: object + description: Service Profile Access Points + oneOf: + - $ref: "#/components/schemas/AddOperation" + - $ref: "#/components/schemas/RemoveOperation" + - $ref: "#/components/schemas/ReplaceOperation" + AddOperation: + required: + - op + - path + - value + type: object + properties: + op: + $ref: "#/components/schemas/OpEnum" + path: + $ref: "#/components/schemas/Path" + value: + type: object + description: value to add + description: Add Sub-Resource to the existing model + OpEnum: + type: string + description: the operation to be performed + enum: + - add + - remove + - replace + Path: + type: string + description: A JSON Pointer path. + RemoveOperation: + required: + - op + - path + type: object + properties: + op: + $ref: "#/components/schemas/OpEnum" + path: + $ref: "#/components/schemas/Path" + description: Remove sub-resource from an existing model + ReplaceOperation: + required: + - op + - path + - value + type: object + properties: + op: + $ref: "#/components/schemas/OpEnum" + path: + $ref: "#/components/schemas/Path" + value: + type: object + description: value to replace with + description: Replace attribute value or sub-resource in the existing model + ServiceMetros: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/ServiceMetro" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service Profile Metros + ServiceTokenUUID: + type: string + description: Service Token UUID + format: uuid + ServiceToken: + required: + - uuid + type: object + properties: + type: + $ref: "#/components/schemas/ServiceTokenType" + href: + type: string + description: An absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned service token identifier + format: uuid + name: + type: string + description: Customer-provided service token name + description: + type: string + description: Customer-provided service token description + expirationDateTime: + type: string + description: Expiration date and time of the service token. + format: date-time + example: 2020-11-06T07:00:00Z + connection: + $ref: "#/components/schemas/ServiceTokenConnection" + state: + $ref: "#/components/schemas/ServiceTokenState" + notifications: + type: array + description: Service token related notifications + items: + $ref: "#/components/schemas/SimplifiedNotification" + account: + $ref: "#/components/schemas/SimplifiedAccount" + changelog: + $ref: "#/components/schemas/Changelog" + project: + $ref: "#/components/schemas/Project" + description: Create Service Tokens (v4) generates Equinix Fabric service tokens. These tokens authorize users to access protected resources and services. The tokens remove sensitive content from the environment, rather than just masking it, making the protected data impossible to unencrypt or decrypt. Resource owners can distribute the tokens to trusted partners and vendors, allowing selected third parties to work directly with Equinix network assets. + ServiceTokenUpdateRequest: + minItems: 1 + type: array + description: Service Token Update Request + items: + $ref: "#/components/schemas/ServiceTokenChangeOperation" + ServiceTokens: + type: object + properties: + data: + type: array + description: List of Service Tokens + items: + $ref: "#/components/schemas/ServiceToken" + pagination: + $ref: "#/components/schemas/Pagination" + description: Service tokens authorize a user to access protected resources and services available on the Equinix Fabric network. The owner of the resources can distribute service tokens to third-party users (trusted partners and vendors), allowing them to directly access and work with the resources on the network without involving the resource owners. + ServiceTokenActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/ServiceTokenActions" + description: Service Token action request + ServiceTokenSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/ServiceTokenSearchExpression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + description: Search requests containing criteria + ServiceTokenSearchExpression: + type: object + properties: + and: + $ref: "#/components/schemas/ServiceTokenSearchExpressions" + property: + $ref: "#/components/schemas/ServiceTokenSearchFieldName" + operator: + type: string + enum: + - = + values: + type: array + items: + type: string + ServiceTokenSearchExpressions: + type: array + items: + $ref: "#/components/schemas/ServiceTokenSearchExpression" + ServiceTokenSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /uuid + - /state + - /name + - /project/projectId + Presence: + type: string + description: Presence + enum: + - MY_PORTS + MetroResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + 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. + Metro: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + type: + type: string + description: Indicator of a Fabric Metro + code: + type: string + description: Code Assigned to an Equinix IBX data center in a specified metropolitan area. + region: + type: string + description: Board geographic area in which the data center is located + name: + type: string + description: Name of the region in which the data center is located. + equinixAsn: + type: integer + description: Autonomous system number (ASN) for a specified Fabric metro. The ASN is a unique identifier that carries the network routing protocol and exchanges that data with other internal systems via border gateway protocol. + format: int64 + localVCBandwidthMax: + type: integer + description: This field holds Max Connection speed with in the metro + format: int64 + geoCoordinates: + $ref: "#/components/schemas/GeoCoordinates" + connectedMetros: + type: array + items: + $ref: "#/components/schemas/ConnectedMetro" + geoScopes: + type: array + 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. + GeoCoordinates: + type: object + properties: + latitude: + type: number + description: Latitude of a Fabric Metro + format: double + longitude: + type: number + description: Longitude of a Fabric Metro + format: double + description: Geographic location data of Fabric Metro + ConnectedMetro: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + code: + type: string + description: Code assigned to an Equinix International Business Exchange (IBX) data center in a specified metropolitan area. + avgLatency: + type: number + description: Average latency (in milliseconds[ms]) between two specified metros. + remoteVCBandwidthMax: + type: integer + description: This field holds the Max Connection speed with connected metros + format: int64 + description: Arrays of objects containing latency data for the specified metros + GeoScopeType: + type: string + description: Geographic boundary types + enum: + - CANADA + - CONUS + MetroErrorList: + type: array + items: + $ref: "#/components/schemas/MetroError" + MetroError: + required: + - errorCode + - errorMessage + type: object + properties: + errorCode: + type: string + enum: + - EQ-3036001 + - EQ-3036013 + - EQ-3036030 + - EQ-3036100 + errorMessage: + type: string + enum: + - Unauthorized + - Invalid Query Parameter + - Invalid Path Parameter + - Invalid Query or Path Parameter + - Internal Server Error + - Metro Not Found + correlationId: + type: string + details: + type: string + help: + type: string + additionalInfo: + type: array + items: + $ref: "#/components/schemas/PriceError_additionalInfo" + description: Error with details + discriminator: + propertyName: errorCode + MetroCode: + type: string + description: Metro Code + AllPortsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: GET All User Port Across Fabric Metros + items: + $ref: "#/components/schemas/PortResponse" + description: GET All User Port Across Fabric Metros + PortResponse: + type: object + properties: + type: + $ref: "#/components/schemas/PortType" + id: + type: integer + description: Equinix assigned response attribute for Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix assigned response attribute for port identifier + format: uuid + name: + type: string + description: Equinix assigned response attribute for Port name + description: + type: string + description: Equinix assigned response attribute for Port description + physicalPortsSpeed: + minimum: 0 + type: integer + description: Physical Ports Speed in Mbps + connectionsCount: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Connection count + physicalPortsType: + type: string + description: Physical Ports Type + enum: + - 1000BASE_LX + - 10GBASE_LR + - 100GBASE_LR4 + - 10GBASE_ER + - 1000BASE_SX + physicalPortsCount: + type: integer + connectivitySourceType: + type: string + description: Port connectivity type + enum: + - COLO + - BMMR + - REMOTE + bmmrType: + type: string + enum: + - SELF + - EQUINIX + project: + $ref: "#/components/schemas/Project" + state: + $ref: "#/components/schemas/PortState" + order: + $ref: "#/components/schemas/PortOrder" + cvpId: + type: string + description: Equinix assigned response attribute for Unique ID for a virtual port. + operation: + $ref: "#/components/schemas/PortOperation" + account: + $ref: "#/components/schemas/SimplifiedAccountPortResponse" + changelog: + $ref: "#/components/schemas/Changelog" + serviceType: + type: string + description: Port service Type + enum: + - EPL + - MSP + bandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port bandwidth in Mbps + availableBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port available bandwidth in Mbps + usedBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port used bandwidth in Mbps + location: + $ref: "#/components/schemas/SimplifiedLocation" + device: + $ref: "#/components/schemas/PortDevice" + interface: + $ref: "#/components/schemas/PortInterface" + demarcationPointIbx: + type: string + description: A-side/Equinix ibx + tetherIbx: + type: string + description: z-side/Equinix ibx + demarcationPoint: + $ref: "#/components/schemas/PortDemarcationPoint" + redundancy: + $ref: "#/components/schemas/PortRedundancy" + encapsulation: + $ref: "#/components/schemas/PortEncapsulation" + lagEnabled: + type: boolean + description: If LAG enabled + lag: + $ref: "#/components/schemas/PortLag" + asn: + type: integer + description: Port ASN + settings: + $ref: "#/components/schemas/PortSettings" + physicalPortQuantity: + type: integer + description: Number of physical ports + notifications: + type: array + description: Notification preferences + items: + $ref: "#/components/schemas/PortNotification" + additionalInfo: + type: array + description: Port additional information + items: + $ref: "#/components/schemas/PortAdditionalInfo" + physicalPorts: + type: array + description: Physical ports that implement this port + items: + $ref: "#/components/schemas/PhysicalPort" + loas: + type: array + description: Port Loas + items: + $ref: "#/components/schemas/PortLoa" + description: Port response specification + Port: + required: + - account + - connectivitySourceType + - encapsulation + - location + - physicalPortsSpeed + - physicalPortsType + - settings + - type + type: object + description: Port is the Request Object for Creating Fabric Ports + allOf: + - $ref: "#/components/schemas/PortResponse" + PhysicalPort: + type: object + properties: + type: + $ref: "#/components/schemas/PhysicalPortType" + id: + type: integer + description: Equinix assigned response attribute for Physical Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. + format: uri + readOnly: true + state: + $ref: "#/components/schemas/PortState" + account: + $ref: "#/components/schemas/SimplifiedAccount" + interfaceSpeed: + minimum: 0 + type: integer + description: Physical Port Speed in Mbps + interfaceType: + type: string + description: Physical Port Interface Type + tether: + $ref: "#/components/schemas/PortTether" + demarcationPoint: + $ref: "#/components/schemas/PortDemarcationPoint" + additionalInfo: + type: array + description: Physical Port additional information + items: + $ref: "#/components/schemas/PortAdditionalInfo" + order: + $ref: "#/components/schemas/PortOrder" + operation: + $ref: "#/components/schemas/PortOperation" + loas: + type: array + description: Port Loas + items: + $ref: "#/components/schemas/PortLoa" + description: Physical Port specification + BulkPort: + type: object + properties: + data: + type: array + items: + $ref: "#/components/schemas/Port" + description: Create bulk port request + BulkPhysicalPort: + type: object + properties: + data: + type: array + description: add physical ports to virtual port + items: + $ref: "#/components/schemas/PhysicalPort" + description: Add to Lag request + AllPhysicalPortsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: GET All Physical Ports + items: + $ref: "#/components/schemas/PhysicalPort" + description: GET All Physical Ports + LinkProtocolGetResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/LinkProtocolResponse" + description: List of Vlans + PortV4SearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/PortExpression" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/PortSortCriteria" + description: Search requests containing criteria + PortExpression: + type: object + properties: + and: + $ref: "#/components/schemas/PortExpressions" + or: + $ref: "#/components/schemas/PortExpressions" + property: + $ref: "#/components/schemas/PortSearchFieldName" + operator: + type: string + enum: + - = + values: + type: array + items: + type: string + PortExpressions: + type: array + items: + $ref: "#/components/schemas/PortExpression" + PortSearchFieldName: + type: string + description: Possible field names to use on filters + enum: + - /project/projectId + - /settings/productCode + - /state + PortSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/PortSortDirection" + property: + $ref: "#/components/schemas/PortSortBy" + GetAllConnectionRouteFiltersResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filters attached to a Connection + items: + $ref: "#/components/schemas/ConnectionRouteFilterData" + RouteFilterId: + type: string + description: Route Filters UUID + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + ConnectionRouteFilterData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: + type: string + enum: + - ATTACHING + - ATTACHED + - DETACHED + - DETACHING + - FAILED + - PENDING_BGP_CONFIGURATION + direction: + type: string + enum: + - INBOUND + - OUTBOUND + ConnectionRouteFiltersBase: + required: + - direction + type: object + properties: + direction: + type: string + description: Route Filter direction to attach to a connection + enum: + - INBOUND + - OUTBOUND + RouteFiltersBase: + required: + - name + - project + - type + type: object + properties: + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + project: + $ref: "#/components/schemas/Project" + RouteFiltersData: + type: object + properties: + href: + type: string + description: Route Filter URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER + - BGP_IPv6_PREFIX_FILTER + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: My-direct-route-1 + description: + type: string + description: Customer-provided connection description + state: + $ref: "#/components/schemas/RouteFilterState" + change: + $ref: "#/components/schemas/RouteFiltersChange" + notMatchedRuleAction: + type: string + enum: + - ALLOW + - DENY + connectionsCount: + type: integer + example: 0 + rulesCount: + type: integer + example: 0 + project: + $ref: "#/components/schemas/RouteFiltersData_project" + changelog: + $ref: "#/components/schemas/Changelog" + RouteFiltersPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters request + items: + $ref: "#/components/schemas/RouteFiltersPatchRequestItem" + RouteFilterChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RouteFilterChangeData" + description: List of Route Filter changes + ChangeId_1: + type: string + description: Route Filters Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/RouteFiltersChangeOperation" + description: Current state of latest Route Filter change + allOf: + - $ref: "#/components/schemas/RouteFiltersChange" + GetRouteFilterGetConnectionsResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Connections using a Route Filter + items: + $ref: "#/components/schemas/RouteFilterConnectionsData" + RouteFiltersSearchBase: + type: object + properties: + filter: + $ref: "#/components/schemas/RouteFiltersSearchBase_filter" + pagination: + $ref: "#/components/schemas/Pagination" + sort: + type: array + items: + $ref: "#/components/schemas/SortItem" + RouteFiltersSearchFilterItem: + type: object + properties: + property: + type: string + enum: + - /type + - /name + - /project/projectId + - /uuid + - /state + operator: + type: string + values: + type: array + items: + type: string + SortItem: + type: object + properties: + property: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /type + - /uuid + - /name + - /project/projectId + - /state + - /notMatchedRuleAction + - /connectionsCount + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + direction: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + RouteFiltersSearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filters + items: + $ref: "#/components/schemas/RouteFiltersData" + GetRouteFilterRulesResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: List of Route Filter Rules + items: + $ref: "#/components/schemas/RouteFilterRulesData" + RouteFilterRulesBase: + required: + - prefix + type: object + properties: + name: + type: string + example: Private-subnet-filter + description: + type: string + description: Customer-provided Route Filter Rule description + prefix: + type: string + example: 192.168.0.0/24 + prefixMatch: + type: string + example: orlonger, exact + default: orlonger + RouteFilterRulesData: + type: object + properties: + href: + type: string + description: Route Filter Rules URI + format: uri + example: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: + type: string + description: Route Filter type + enum: + - BGP_IPv4_PREFIX_FILTER_RULE + - BGP_IPv6_PREFIX_FILTER_RULE + uuid: + type: string + description: Route Filter Rule identifier + format: uuid + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: + type: string + example: Private-subnet-filter-2 + description: + type: string + description: Customer-provided Route Filter Rule description + state: + $ref: "#/components/schemas/RouteFilterRuleState" + prefixMatch: + type: string + description: prefix matching operator + example: exact + default: orlonger + change: + $ref: "#/components/schemas/RouteFilterRulesChange" + action: + type: string + enum: + - PERMIT + - DENY + prefix: + type: string + example: 192.168.0.0/24 + changelog: + $ref: "#/components/schemas/Changelog" + RouteFilterRuleId: + type: string + description: Route Filter Rule UUID + example: 65b025ef-022b-4180-85cf-82cfc1ab655b + RouteFilterRulesPatchRequest: + minItems: 1 + type: array + description: Patch Route Filters Rule request + items: + $ref: "#/components/schemas/RouteFilterRulesPatchRequestItem" + RouteFilterRulesChangeDataResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/RouteFilterRulesChangeData" + description: List of Route Filter Rule changes + ChangeId_2: + type: string + description: Route Filter Rule Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + RouteFilterRulesChangeData: + type: object + properties: + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdBy: + type: string + description: Created by User Key + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + updatedBy: + type: string + description: Updated by User Key + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + data: + $ref: "#/components/schemas/RouteFilterRulesChangeOperation" + description: Current state of latest Route Filter Rules change + allOf: + - $ref: "#/components/schemas/RouteFilterRulesChange" + RouteFilterRulesPostRequest: + type: object + properties: + data: + type: array + description: Route Filter Rule configuration + items: + $ref: "#/components/schemas/RouteFilterRulesBase" + description: Create Route Filter Rule POST request + CloudRouterPostRequest: + type: object + properties: + type: + type: string + enum: + - XF_ROUTER + name: + type: string + description: Customer-provided Cloud Router name + location: + $ref: "#/components/schemas/SimplifiedLocationWithoutIBX" + package: + $ref: "#/components/schemas/CloudRouterPostRequestPackage" + order: + $ref: "#/components/schemas/Order" + project: + $ref: "#/components/schemas/Project" + account: + $ref: "#/components/schemas/SimplifiedAccount" + notifications: + type: array + description: Preferences for notifications on connection configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + description: Create Cloud Router + CloudRouter: + type: object + properties: + href: + type: string + description: Cloud Routers URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/routers/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + uuid: + type: string + description: Equinix-assigned access point identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + name: + type: string + description: Customer-provided Cloud Router name + format: string + example: test-fg-1 + state: + $ref: "#/components/schemas/CloudRouterAccessPointState" + equinixAsn: + type: integer + description: Equinix ASN + format: int64 + example: 30000 + bgpIpv4RoutesCount: + minimum: 0 + type: integer + description: Access point used and maximum number of IPv4 BGP routes + bgpIpv6RoutesCount: + minimum: 0 + type: integer + description: Access point used and maximum number of IPv6 BGP routes + connectionsCount: + minimum: 0 + type: integer + description: Number of connections associated with this Access point + distinctIpv4PrefixesCount: + minimum: 0 + type: integer + description: Number of distinct ipv4 routes + distinctIpv6PrefixesCount: + minimum: 0 + type: integer + description: Number of distinct ipv6 routes + changeLog: + $ref: "#/components/schemas/Changelog" + change: + $ref: "#/components/schemas/CloudRouterChange" + description: Fabric Cloud Router object + allOf: + - $ref: "#/components/schemas/CloudRouterPostRequest" + RouterId: + type: string + description: Cloud Router UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + CloudRouterUpdateRequest: + minItems: 1 + type: array + description: Fabric Cloud Router Update Request + items: + $ref: "#/components/schemas/CloudRouterChangeOperation" + RouterId_1: + type: string + description: Router UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + ActionState: + $ref: "#/components/schemas/CloudRouterActionState" + CloudRouterActionState: + type: string + description: Cloud Router action state + enum: + - DONE + - FAILED + - PENDING + CloudRouterActionResponse: + required: + - changeLog + - state + - type + - uuid + type: object + properties: + type: + $ref: "#/components/schemas/CloudRouterActionType" + uuid: + type: string + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + description: + type: string + example: description + state: + $ref: "#/components/schemas/CloudRouterActionState" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Cloud Router actions response object + CloudRouterActionRequest: + required: + - type + type: object + properties: + type: + $ref: "#/components/schemas/CloudRouterActionType" + description: Cloud Router action request + RouteTableEntrySearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/RouteTableEntryFilters" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/RouteTableEntrySortCriteria" + description: Search requests containing criteria + RouteTableEntryFilters: + type: object + properties: + and: + maxItems: 8 + type: array + items: + $ref: "#/components/schemas/RouteTableEntryFilter" + RouteTableEntryFilter: + type: object + anyOf: + - $ref: "#/components/schemas/RouteTableEntrySimpleExpression" + - $ref: "#/components/schemas/RouteTableEntryOrFilter" + RouteTableEntrySimpleExpression: + type: object + properties: + property: + type: string + description: | + Possible field names to use on filters: + * `/type` - Route table entry type + * `/prefix` - Route table entry prefix + * `/nextHop` - Route table entry nextHop + * `/state` - Route table entry state + * `/*` - all-category search + example: /type + operator: + type: string + description: | + Possible operators to use on filters: + * `=` - equal + * `!=` - not equal + * `>` - greater than + * `>=` - greater than or equal to + * `<` - less than + * `<=` - less than or equal to + * `[NOT] BETWEEN` - (not) between + * `[NOT] LIKE` - (not) like + * `[NOT] IN` - (not) in + * `~*` - case-insensitive like + example: = + values: + type: array + items: + type: string + example: IPv4_BGP_ROUTE + RouteTableEntryOrFilter: + type: object + properties: + or: + maxItems: 3 + type: array + items: + $ref: "#/components/schemas/RouteTableEntrySimpleExpression" + RouteTableEntrySortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/RouteTableEntrySortDirection" + property: + $ref: "#/components/schemas/RouteTableEntrySortBy" + RouteTableEntrySortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + RouteTableEntrySortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + - /prefix + - /nextHop + - /connection/name + - /type + RouteTableEntrySearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/RouteTableEntry" + ValidateRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/ValidateRequest_filter" + description: Validate connection auth api key or vlan + ValidateSubnetResponse: + type: object + properties: + additionalInfo: + type: array + description: Additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + description: ValidateResponse + CloudRouterSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/CloudRouterFilters" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/CloudRouterSortCriteria" + description: Search requests containing criteria + CloudRouterFilters: + type: object + properties: + and: + maxItems: 8 + type: array + items: + $ref: "#/components/schemas/CloudRouterFilter" + CloudRouterFilter: + type: object + anyOf: + - $ref: "#/components/schemas/CloudRouterSimpleExpression" + - $ref: "#/components/schemas/CloudRouterOrFilter" + CloudRouterSimpleExpression: + type: object + properties: + property: + type: string + description: | + Possible field names to use on filters: + * `/project/projectId` - project id (mandatory) + * `/name` - Fabric Cloud Router name + * `/uuid` - Fabric Cloud Router uuid + * `/state` - Fabric Cloud Router status + * `/location/metroCode` - Fabric Cloud Router metro code + * `/location/metroName` - Fabric Cloud Router metro name + * `/package/code` - Fabric Cloud Router package + * `/*` - all-category search + example: /name + operator: + type: string + description: | + Possible operators to use on filters: + * `=` - equal + * `!=` - not equal + * `>` - greater than + * `>=` - greater than or equal to + * `<` - less than + * `<=` - less than or equal to + * `[NOT] BETWEEN` - (not) between + * `[NOT] LIKE` - (not) like + * `[NOT] IN` - (not) in + * `ILIKE` - case-insensitive like + example: = + values: + type: array + items: + type: string + example: FabricCloudRouter-1 + CloudRouterOrFilter: + type: object + properties: + or: + maxItems: 3 + type: array + items: + $ref: "#/components/schemas/CloudRouterSimpleExpression" + CloudRouterSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/CloudRouterSortDirection" + property: + $ref: "#/components/schemas/CloudRouterSortBy" + CloudRouterSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + CloudRouterSortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /uuid + - /state + - /location/metroCode + - /location/metroName + - /package/code + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + SearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/CloudRouter" + PackageResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/CloudRouterPackage" + RouterPackageCode: + type: string + description: Router package code + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + CloudRouterPackage: + type: object + properties: + href: + type: string + description: Cloud Router package URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/routerPackages/LAB + type: + type: string + description: Type of Router package + example: ROUTER_PACKAGE + enum: + - ROUTER_PACKAGE + code: + $ref: "#/components/schemas/code" + description: + type: string + description: Fabric Cloud Router Package description + totalIPv4RoutesMax: + minimum: 0 + type: integer + description: Cloud Router package BGP IPv4 routes limit + example: 50 + totalIPv6RoutesMax: + minimum: 0 + type: integer + description: Cloud Router package BGP IPv6 routes limit + example: 50 + staticIPv4RoutesMax: + minimum: 0 + type: integer + description: CloudRouter package static IPv4 routes limit + example: 3 + staticIPv6RoutesMax: + minimum: 0 + type: integer + description: CloudRouter package static IPv6 routes limit + naclsMax: + minimum: 0 + type: integer + description: CloudRouter package NACLs limit + example: 2 + naclRulesMax: + minimum: 0 + type: integer + description: CloudRouter package NACLs rules limit + example: 5 + haSupported: + type: boolean + description: CloudRouter package high-available configuration support + example: true + routeFilterSupported: + type: boolean + description: CloudRouter package route filter support + natType: + type: string + description: CloudRouter package NAT supported type + example: STATIC_NAT + enum: + - STATIC_NAT + vcCountMax: + minimum: 0 + type: integer + description: CloudRouter package Max Connection limit + example: 10 + crCountMax: + minimum: 0 + type: integer + description: CloudRouter package Max CloudRouter limit + example: 3 + vcBandwidthMax: + minimum: 0 + type: integer + description: CloudRouter package Max Bandwidth limit + example: 50 + changeLog: + $ref: "#/components/schemas/PackageChangeLog" + description: Fabric Cloud Router Package + HealthResponse: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + version: + type: string + description: Indicator of a version + release: + type: string + description: release details. + state: + type: string + description: status of a service + apiServices: + $ref: "#/components/schemas/ApiServices" + description: GET Services Health + ConnectionResponse: + type: object + properties: + additionalInfo: + type: array + description: Additional information + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + data: + type: array + description: Connection response data + items: + $ref: "#/components/schemas/Connection" + description: ValidateResponse + Pagination: + required: + - limit + - total + type: object + properties: + offset: + minimum: 0 + type: integer + description: Index of the first item returned in the response. The default is 0. + default: 0 + limit: + minimum: 0 + type: integer + description: Maximum number of search results returned per page. Number must be between 1 and 100, and the default is 20. + default: 20 + total: + minimum: 0 + type: integer + description: Total number of elements returned. + next: + type: string + description: URL relative to the next item in the response. + previous: + type: string + description: URL relative to the previous item in the response. + description: Pagination response information + NetworkPostRequest: + required: + - name + - notifications + - scope + - type + type: object + properties: + type: + $ref: "#/components/schemas/NetworkType" + name: + type: string + description: Customer-provided network name + scope: + $ref: "#/components/schemas/NetworkScope" + location: + $ref: "#/components/schemas/SimplifiedLocation" + project: + $ref: "#/components/schemas/Project" + notifications: + type: array + description: Preferences for notifications on network configuration or status changes + items: + $ref: "#/components/schemas/SimplifiedNotification" + description: Create Network + Network: + type: object + description: Network specification + allOf: + - required: + - changeLog + - href + - state + - uuid + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + uuid: + type: string + description: Equinix-assigned network identifier + format: uuid + example: 92dc376a-a932-43aa-a6a2-c806dedbd784 + state: + $ref: "#/components/schemas/NetworkState" + connectionsCount: + type: number + description: number of connections created on the network + account: + $ref: "#/components/schemas/SimplifiedAccount" + change: + $ref: "#/components/schemas/SimplifiedNetworkChange" + operation: + $ref: "#/components/schemas/NetworkOperation" + changeLog: + $ref: "#/components/schemas/Changelog" + links: + type: array + description: Network sub-resources links + readOnly: true + items: + $ref: "#/components/schemas/Link" + - $ref: "#/components/schemas/NetworkPostRequest" + NetworkId: + type: string + description: Network UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + NetworkUpdateRequest: + minItems: 1 + type: array + description: Fabric Network Update Request + items: + $ref: "#/components/schemas/NetworkChangeOperation" + NetworkSearchRequest: + type: object + properties: + filter: + $ref: "#/components/schemas/NetworkFilter" + pagination: + $ref: "#/components/schemas/PaginationRequest" + sort: + type: array + items: + $ref: "#/components/schemas/NetworkSortCriteria" + description: Search requests containing criteria + NetworkFilter: + type: object + properties: + and: + $ref: "#/components/schemas/NetworkSimpleExpression" + or: + $ref: "#/components/schemas/NetworkSimpleExpression" + property: + $ref: "#/components/schemas/NetworkSearchFieldName" + operator: + type: string + example: = + enum: + - = + - "!=" + - ">" + - ">=" + - < + - <= + - BETWEEN + - NOT BETWEEN + - LIKE + - NOT LIKE + - ILIKE + - NOT ILIKE + - IN + - NOT IN + values: + type: array + items: + type: string + example: Network-1 + NetworkSimpleExpression: + type: array + items: + $ref: "#/components/schemas/NetworkFilter" + NetworkSearchFieldName: + type: string + description: Possible field names to use on filters + example: /name + enum: + - /name + - /uuid + - /scope + - /type + - /operation/equinixStatus + - /location/region + - /project/projectId + - /account/globalCustId + - /account/orgId + - /deletedDate + - /* + NetworkSortCriteria: + type: object + properties: + direction: + $ref: "#/components/schemas/NetworkSortDirection" + property: + $ref: "#/components/schemas/NetworkSortBy" + NetworkSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + NetworkSortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /uuid + - /scope + - /operation/equinixStatus + - /location/region + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + NetworkSearchResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + sort: + type: array + items: + $ref: "#/components/schemas/NetworkSortCriteriaResponse" + data: + type: array + items: + $ref: "#/components/schemas/Network" + description: List of networks + NetworkConnections: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/Connection" + description: List of network changes + NetworkChangeResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + items: + $ref: "#/components/schemas/NetworkChange" + description: List of network changes + ChangeId_3: + type: string + description: Network Change UUID + format: uuid + example: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + NetworkChange: + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + uuid: + type: string + description: Uniquely identifies a change + format: uuid + example: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: + $ref: "#/components/schemas/NetworkChangeType" + status: + $ref: "#/components/schemas/NetworkChangeStatus" + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + example: 2020-11-06T07:00:00Z + data: + type: array + items: + $ref: "#/components/schemas/NetworkChangeOperation" + description: Current state of latest network change + ServiceId: + type: string + description: Precision Time Service UUID + format: uuid + example: 557400f8-d360-11e9-bb65-2a2ae2dbcce4 + precisionTimeServiceCreateResponse: + title: precisionTimeServiceResponse + required: + - href + - ipv4 + - package + - state + - type + - uuid + type: object + properties: + type: + type: string + enum: + - NTP + - PTP + href: + type: string + format: uri + uuid: + type: string + description: uuid of the ept service + format: uuid + name: + type: string + description: name of the ept service + description: + type: string + state: + type: string + description: indicate service state + enum: + - PROVISIONED + - PROVISIONING + - PROVISIONING_FAILED + - CONFIGURING + - CANCELLED + - DEPROVISIONING_FAILED + - PENDING_CONFIGURATION + - DEPROVISIONED + - CONFIGURING_FAILED + - DEPROVISIONING + package: + $ref: "#/components/schemas/precisionTimePackageResponse" + connections: + maxItems: 2 + minItems: 1 + uniqueItems: true + type: array + description: fabric l2 connections used for the ept service + items: + $ref: "#/components/schemas/fabricConnectionUuid" + ipv4: + $ref: "#/components/schemas/ipv4" + account: + $ref: "#/components/schemas/account" + advanceConfiguration: + $ref: "#/components/schemas/advanceConfiguration" + project: + $ref: "#/components/schemas/Project" + description: EPT service instance + precisionTimeChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + enum: + - /ipv4 + - /name + - /advanceConfiguration/ntp + - /advanceConfiguration/ptp + - /package + value: + description: new value for updated parameter + description: Fabric Precision Timing change operation data + precisionTimeServiceRequest: + title: precisionTimeServiceRequest + required: + - connections + - ipv4 + - name + - package + - type + type: object + properties: + type: + type: string + description: Indicate the entity is EPT service + enum: + - NTP + - PTP + name: + type: string + description: + type: string + package: + $ref: "#/components/schemas/precisionTimePackageRequest" + connections: + type: array + items: + $ref: "#/components/schemas/fabricConnectionUuid" + ipv4: + $ref: "#/components/schemas/ipv4" + advanceConfiguration: + $ref: "#/components/schemas/advanceConfiguration" + project: + $ref: "#/components/schemas/Project" + description: EPT service instance + precisionTimeServiceConnectionsResponse: + title: precisionTimeServiceConnectionResponse + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call + items: + $ref: "#/components/schemas/connectionLink" + description: EPT service instance's L2 connections + precisionTimeServicePackagesResponse: + title: precisionTimeServicePackagesResponse + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call + items: + $ref: "#/components/schemas/precisionTimePackageResponse" + description: Precision Packages + precisionTimePackageResponse: + title: precisionTimePackageRespose + required: + - code + type: object + properties: + href: + type: string + format: uri + code: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + type: + type: string + enum: + - TIME_SERVICE_PACKAGE + bandwidth: + type: integer + example: 10 + clientsPerSecondMax: + type: integer + example: 100 + redundancySupported: + type: boolean + example: true + multiSubnetSupported: + type: boolean + example: true + accuracyUnit: + type: string + example: microseconds + accuracySla: + type: integer + example: 50 + accuracyAvgMin: + type: integer + example: 1 + accuracyAvgMax: + type: integer + example: 10 + changelog: + $ref: "#/components/schemas/Changelog" + description: EPT Service Package Information + example: + href: https://api.equinix.com/fabric/v4/timeServicePackage/NTP_STANDARD + code: NTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 10 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + clientsPerSecondMax: 100 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + ConnectionType: + type: string + description: Connection type + enum: + - EVPL_VC + - EPL_VC + - EC_VC + - IP_VC + - ACCESS_EPL_VC + - EIA_VC + - EVPLAN_VC + - EPLAN_VC + - IPWAN_VC + - IA_VC + Order: + type: object + properties: + purchaseOrderNumber: + type: string + description: Purchase order number + customerReferenceNumber: + type: string + description: Customer reference number + billingTier: + type: string + description: Billing tier for connection bandwidth + orderId: + type: string + description: Order Identification + orderNumber: + type: string + description: Order Reference Number + SimplifiedNotification: + required: + - emails + - type + type: object + properties: + type: + type: string + description: Notification Type + example: BANDWIDTH_ALERT + enum: + - NOTIFICATION + - BANDWIDTH_ALERT + - CONNECTION_APPROVAL + - PROFILE_LIFECYCLE + - ALL + - SALES_REP_NOTIFICATIONS + sendInterval: + type: string + emails: + type: array + description: Array of contact emails + items: + type: string + format: email + registeredUsers: + type: array + description: Array of registered users + items: + type: string + ConnectionRedundancy: + type: object + properties: + group: + type: string + description: Redundancy group identifier (UUID of primary connection) + priority: + $ref: "#/components/schemas/ConnectionPriority" + description: Connection redundancy configuration + ConnectionSide: + type: object + properties: + serviceToken: + $ref: "#/components/schemas/ServiceToken" + accessPoint: + $ref: "#/components/schemas/AccessPoint" + internetAccess: + $ref: "#/components/schemas/InternetAccess" + companyProfile: + $ref: "#/components/schemas/ConnectionCompanyProfile" + invitation: + $ref: "#/components/schemas/ConnectionInvitation" + additionalInfo: + type: array + description: Any additional information, which is not part of connection metadata or configuration + items: + $ref: "#/components/schemas/ConnectionSideAdditionalInfo" + description: Connection configuration object for each side of multi-segment connection + Project: + type: object + properties: + projectId: + type: string + description: Subscriber-assigned project ID + example: 44f4c4f8-2f39-494e-838c-d8e640591be5 + ConnectionSideAdditionalInfo: + type: object + properties: + key: + type: string + description: Key + value: + type: string + description: Value + description: Additional information + ConnectionState: + type: string + description: Connection status + enum: + - ACTIVE + - CANCELLED + - DEPROVISIONED + - DEPROVISIONING + - DRAFT + - FAILED + - PENDING + - PROVISIONED + - PROVISIONING + - REPROVISIONING + - "" + Change: + required: + - createdDateTime + - type + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - CONNECTION_CREATION + - CONNECTION_UPDATE + - CONNECTION_DELETION + - CONNECTION_PROVIDER_STATUS_REQUEST + status: + type: string + description: Current outcome of the change flow + enum: + - APPROVED + - COMPLETED + - FAILED + - REJECTED + - REQUESTED + - SUBMITTED_FOR_APPROVAL + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + example: 2020-11-06T07:00:00Z + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/ConnectionChangeOperation" + description: Current state of latest connection change + ConnectionOperation: + type: object + properties: + providerStatus: + $ref: "#/components/schemas/ProviderStatus" + equinixStatus: + $ref: "#/components/schemas/EquinixStatus" + operationalStatus: + type: string + description: Connection operational status + enum: + - UP + - DOWN + errors: + type: array + items: + $ref: "#/components/schemas/Error" + opStatusChangedAt: + type: string + description: When connection transitioned into current operational status + format: date-time + example: 2020-11-06T07:00:00Z + description: Connection type-specific operational data + SimplifiedAccount: + type: object + properties: + accountNumber: + type: integer + description: Account number + format: int64 + accountName: + type: string + description: Account name + orgId: + type: integer + description: Customer organization identifier + format: int64 + organizationName: + type: string + description: Customer organization name + globalOrgId: + type: string + description: Global organization identifier + globalOrganizationName: + type: string + description: Global organization name + ucmId: + type: string + description: Account ucmId + globalCustId: + type: string + description: Account name + resellerAccountNumber: + type: integer + description: Reseller account number + format: int64 + resellerAccountName: + type: string + description: Reseller account name + resellerUcmId: + type: string + description: Reseller account ucmId + resellerOrgId: + type: integer + description: Reseller customer organization identifier + format: int64 + SimplifiedAccountPortResponse: + type: object + description: Temporary SimplifiedAccount for PortResponse data mismatch of all strings in account + allOf: + - $ref: "#/components/schemas/SimplifiedAccount" + properties: + accountNumber: + type: string + description: Account number + orgId: + type: string + description: Customer organization identifier + resellerAccountNumber: + type: string + description: Reseller account number + resellerOrgId: + type: string + description: Reseller customer organization identifier + Changelog: + type: object + properties: + createdBy: + type: string + description: Created by User Key + example: johnsmith + createdByFullName: + type: string + description: Created by User Full Name + example: John Smith + createdByEmail: + type: string + description: Created by User Email Address + example: john.smith@example.com + 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 + updatedByFullName: + type: string + description: Updated by User Full Name + example: John Smith + updatedByEmail: + type: string + description: Updated by User Email Address + example: john.smith@example.com + 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 + deletedByFullName: + type: string + description: Deleted by User Full Name + example: John Smith + deletedByEmail: + type: string + description: Deleted by User Email Address + example: john.smith@example.com + deletedDateTime: + type: string + description: Deleted by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + description: Change log + Error: + required: + - errorCode + - errorMessage + type: object + properties: + errorCode: + pattern: ^EQ-\d{7}$ + type: string + errorMessage: + type: string + correlationId: + type: string + details: + type: string + help: + type: string + additionalInfo: + type: array + items: + $ref: "#/components/schemas/PriceError_additionalInfo" + description: Error Response with details + ConnectionChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: add + path: + type: string + description: path inside document leading to updated parameter + example: /ipv6 + value: + description: new value for updated parameter + description: Connection change operation data + Actions: + type: string + description: Connection action type + enum: + - CONNECTION_CREATION_ACCEPTANCE + - CONNECTION_CREATION_REJECTION + - CONNECTION_UPDATE_ACCEPTANCE + - CONNECTION_UPDATE_REJECTION + - CONNECTION_DELETION_ACCEPTANCE + - CONNECTION_REJECTION_ACCEPTANCE + - CONNECTION_UPDATE_REQUEST + - MIGRATION_EVPL_VC + - CONNECTION_PROVIDER_STATUS_REQUEST + - ACCEPT_HOSTED_CONNECTION + - CANCEL_EVPL_VC_DRAFT_ORDERS + ConnectionAcceptanceData: + type: object + properties: + zSide: + $ref: "#/components/schemas/ConnectionSide" + description: Connection acceptance data + BGPConnectionIpv4: + required: + - customerPeerIp + - enabled + type: object + properties: + customerPeerIp: + type: string + description: Customer side peering ip + example: 10.1.1.2 + equinixPeerIp: + type: string + description: Equinix side peering ip + example: 10.1.1.3 + enabled: + type: boolean + description: Admin status for the BGP session + outboundASPrependCount: + type: integer + description: AS path prepend count + format: int64 + example: 3 + operation: + $ref: "#/components/schemas/BGPConnectionOperation" + BGPConnectionIpv6: + required: + - customerPeerIp + - enabled + type: object + properties: + customerPeerIp: + type: string + description: Customer side peering ip + example: 2001:db8:c59b::1 + equinixPeerIp: + type: string + description: Equinix side peering ip + example: 2001:db8:c59b::1 + enabled: + type: boolean + description: Admin status for the BGP session + outboundASPrependCount: + type: integer + description: AS path prepend count + format: int64 + example: 3 + operation: + $ref: "#/components/schemas/BGPConnectionOperation" + RoutingProtocolBFD: + required: + - enabled + type: object + properties: + enabled: + type: boolean + interval: + type: string + example: "100" + DirectConnectionIpv4: + type: object + properties: + equinixIfaceIp: + type: string + description: Equinix side Interface IP address + example: 192.168.100.0/30 + DirectConnectionIpv6: + required: + - equinixIfaceIp + type: object + properties: + equinixIfaceIp: + type: string + description: Equinix side Interface IP address + example: 2001:db8:c59b::/1 + RoutingProtocolBGPData: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - BGP + name: + type: string + example: My-BGP-route-1 + bgpIpv4: + $ref: "#/components/schemas/BGPConnectionIpv4" + bgpIpv6: + $ref: "#/components/schemas/BGPConnectionIpv6" + customerAsn: + type: integer + description: Customer asn + format: int64 + example: 65002 + equinixAsn: + type: integer + description: Equinix asn + format: int64 + example: 65002 + bgpAuthKey: + type: string + description: BGP authorization key + example: testAuthKey + bfd: + $ref: "#/components/schemas/RoutingProtocolBFD" + href: + type: string + description: Routing Protocol URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5 + uuid: + type: string + description: Routing protocol identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: + type: string + enum: + - PROVISIONED + - DEPROVISIONED + - PROVISIONING + - DEPROVISIONING + - REPROVISIONING + - FAILED + operation: + $ref: "#/components/schemas/RoutingProtocolOperation" + change: + $ref: "#/components/schemas/RoutingProtocolChange" + changelog: + $ref: "#/components/schemas/Changelog" + RoutingProtocolDirectData: + type: object + properties: + type: + type: string + description: Routing protocol type + enum: + - DIRECT + name: + type: string + example: My-direct-route-1 + directIpv4: + $ref: "#/components/schemas/DirectConnectionIpv4" + directIpv6: + $ref: "#/components/schemas/DirectConnectionIpv6" + href: + type: string + description: Routing Protocol URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/69762051-85ed-4d13-b6b4-e32e93c672b5 + uuid: + type: string + description: Routing protocol identifier + format: uuid + example: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: + type: string + enum: + - PROVISIONED + - DEPROVISIONED + - PROVISIONING + - DEPROVISIONING + - REPROVISIONING + - FAILED + operation: + $ref: "#/components/schemas/RoutingProtocolOperation" + change: + $ref: "#/components/schemas/RoutingProtocolChange" + changelog: + $ref: "#/components/schemas/Changelog" + BGPActions: + type: string + description: BGP action type + enum: + - CLEAR_BGPIPV4 + - CLEAR_BGPIPV6 + - CLEAR_BGPIPV4_INBOUND + - CLEAR_BGPIPV6_INBOUND + - RESET_BGPIPV4 + - RESET_BGPIPV6 + BGPActionStates: + type: string + description: BGP action state + enum: + - PENDING + - FAILED + - SUCCEEDED + RoutingProtocolChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - ROUTING_PROTOCOL_UPDATE + - ROUTING_PROTOCOL_CREATION + - ROUTING_PROTOCOL_DELETION + href: + type: string + description: Routing Protocol Change URI + format: uri + description: Current state of latest Routing Protocol change + RoutingProtocolChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RoutingProtocolBase" + description: Routing Protocol change operation data + PaginationRequest: + type: object + properties: + offset: + minimum: 0 + type: integer + description: Index of the first element. + default: 0 + limit: + minimum: 1 + type: integer + description: Number of elements to be requested per page. Number must be between 1 and 100, and the default is 20. + default: 20 + description: Pagination request information + SortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + SortBy: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /direction + - /aSide/accessPoint/name + - /aSide/accessPoint/type + - /aSide/accessPoint/account/accountName + - /aSide/accessPoint/location/metroName + - /aSide/accessPoint/location/metroCode + - /aSide/accessPoint/linkProtocol/vlanCTag + - /aSide/accessPoint/linkProtocol/vlanSTag + - /zSide/accessPoint/name + - /zSide/accessPoint/type + - /zSide/accessPoint/account/accountName + - /zSide/accessPoint/location/metroName + - /zSide/accessPoint/location/metroCode + - /zSide/accessPoint/linkProtocol/vlanCTag + - /zSide/accessPoint/linkProtocol/vlanSTag + - /zSide/accessPoint/authenticationKey + - /bandwidth + - /geoScope + - /uuid + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + - /operation/equinixStatus + - /operation/providerStatus + - /redundancy/priority + SortCriteriaResponse: + type: object + properties: + direction: + $ref: "#/components/schemas/SortDirection" + property: + $ref: "#/components/schemas/SortBy" + Price: + type: object + properties: + href: + type: string + description: An absolute URL that returns specified pricing data + format: url + type: + $ref: "#/components/schemas/ProductType" + code: + type: string + description: Equinix-assigned product code + name: + type: string + description: Full product name + description: + type: string + description: Product description + account: + $ref: "#/components/schemas/SimplifiedAccount" + charges: + type: array + items: + $ref: "#/components/schemas/PriceCharge" + currency: + type: string + description: Product offering price currency + termLength: + type: integer + description: In months. No value means unlimited + enum: + - 12 + - 24 + - 36 + catgory: + $ref: "#/components/schemas/PriceCategory" + connection: + $ref: "#/components/schemas/VirtualConnectionPrice" + ipBlock: + $ref: "#/components/schemas/IpBlockPrice" + router: + $ref: "#/components/schemas/FabricCloudRouterPrice" + port: + $ref: "#/components/schemas/VirtualPortPrice" + ServiceProfileTypeEnum: + type: string + description: Service profile type + example: L2_PROFILE + enum: + - L2_PROFILE + - L3_PROFILE + - IA_PROFILE + ServiceProfileVisibilityEnum: + type: string + enum: + - PRIVATE + - PUBLIC + SimplifiedLocation: + type: object + properties: + region: + type: string + example: AMER, APAC, EMEA + metroName: + type: string + example: Amsterdam + metroCode: + type: string + example: AM + metroHref: + type: string + example: https://api.equinix.com/fabric/v4/metros/AM + ibx: + type: string + example: AM1 + ServiceProfileStateEnum: + type: string + description: Equinix assigned state. + example: ACTIVE + enum: + - ACTIVE + - PENDING_APPROVAL + - DELETED + - REJECTED + ServiceTokenType: + type: string + description: Type of Service Token + enum: + - VC_TOKEN + ServiceTokenConnection: + required: + - type + type: object + properties: + type: + type: string + description: Type of Connection + enum: + - EVPL_VC + href: + type: string + description: An absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned connection identifier + format: uuid + allowRemoteConnection: + type: boolean + description: Authorization to connect remotely + default: false + bandwidthLimit: + maximum: 100000 + minimum: 0 + type: integer + description: Connection bandwidth limit in Mbps + supportedBandwidths: + type: array + description: List of permitted bandwidths. + items: + type: integer + aSide: + $ref: "#/components/schemas/ServiceTokenSide" + zSide: + $ref: "#/components/schemas/ServiceTokenSide" + description: Service Token Connection Type Information + ServiceTokenState: + type: string + description: Service token state + enum: + - ACTIVE + - INACTIVE + - EXPIRED + - DELETED + ServiceTokenChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + example: /expirationDateTime + value: + description: new value for updated parameter + description: Service Token change operation data + ServiceTokenActions: + type: string + description: Service Token action type + enum: + - RESEND_EMAIL_NOTIFICATION + PortType: + type: string + description: Type of Port + enum: + - XF_PORT + - IX_PORT + PortState: + type: string + description: Port lifecycle state + enum: + - PENDING + - PROVISIONING + - PROVISIONED + - ACTIVE + - DEPROVISIONING + - DEPROVISIONED + - INACTIVE + - FAILED + - ADDED + - DELETED + - TO_BE_ADDED + - TO_BE_DELETED + PortOrder: + type: object + properties: + purchaseOrder: + $ref: "#/components/schemas/PortOrder_purchaseOrder" + orderId: + type: string + description: Order Identification + orderNumber: + type: string + description: Order Reference Number + uuid: + type: string + description: Equinix-assigned order identifier + format: uuid + signature: + $ref: "#/components/schemas/PortOrder_signature" + PortOperation: + type: object + properties: + operationalStatus: + type: string + description: Availability of a given physical port. + enum: + - UP + - DOWN + connectionCount: + type: integer + description: Total number of connections. + opStatusChangedAt: + type: string + description: Date and time at which port availability changed. + format: date-time + example: 2020-11-06T07:00:00Z + description: Operational specifications for ports. + PortDevice: + type: object + properties: + name: + type: string + description: Device name + redundancy: + $ref: "#/components/schemas/PortDeviceRedundancy" + description: Port device + PortInterface: + type: object + properties: + type: + type: string + description: Port interface type + ifIndex: + type: string + description: Port interface index + name: + type: string + description: Port interface name + description: Port interface + PortDemarcationPoint: + type: object + properties: + cabinetUniqueSpaceId: + type: string + description: Port cabinet unique space id + cageUniqueSpaceId: + type: string + description: Port cage unique space id + patchPanel: + type: string + description: Port patch panel + patchPanelName: + type: string + description: Port patch panel + deprecated: true + patchPanelPortA: + type: string + description: Port patch panel port A + patchPanelPortB: + type: string + description: Port patch panel port B + connectorType: + type: string + description: Port connector type + ibx: + type: string + description: Port ibx identifier + description: Customer physical Port + PortRedundancy: + type: object + properties: + enabled: + type: boolean + description: Access point redundancy + group: + type: string + description: Port UUID of respective primary port + priority: + $ref: "#/components/schemas/PortPriority" + description: Port redundancy configuration + PortEncapsulation: + type: object + properties: + type: + type: string + description: Port encapsulation protocol type + enum: + - "NULL" + - DOT1Q + - QINQ + - UNTAGGED + tagProtocolId: + type: string + description: Port encapsulation tag protocol identifier + description: Port encapsulation configuration + PortLag: + type: object + properties: + id: + type: string + description: id + enabled: + type: boolean + description: enabled + name: + type: string + description: name + memberStatus: + type: string + description: member status + description: Port Lag + PortSettings: + type: object + properties: + product: + type: string + description: Product name + buyout: + type: boolean + viewPortPermission: + type: boolean + placeVcOrderPermission: + type: boolean + layer3Enabled: + type: boolean + productCode: + type: string + sharedPortType: + type: boolean + sharedPortProduct: + type: string + enum: + - NETWORK_EDGE + - VIRTUAL_GATEWAY + - SMARTKEY + - EDGE_METAL + packageType: + type: string + description: Type of Port Package + enum: + - STANDARD + - UNTAGGED + - UNLIMITED + - UNLIMITED PLUS + description: Port configuration settings + PortNotification: + required: + - registeredUsers + - type + type: object + properties: + type: + type: string + description: Notification Type + enum: + - NOTIFICATION + - TECHNICAL + - PEERING + - ESCALATION + registeredUsers: + type: array + description: Array of registered users + items: + type: string + PortAdditionalInfo: + type: object + properties: + key: + type: string + description: Key + value: + type: string + description: Value + description: Additional information + PortLoa: + type: object + properties: + uuid: + type: string + description: uuid + href: + type: string + description: Loa uri. + format: uri + readOnly: true + type: + type: string + description: Loa type + enum: + - CTR_LOA + description: Port Loas + PhysicalPortType: + type: string + description: Type of Port + enum: + - XF_PHYSICAL_PORT + PortTether: + type: object + properties: + crossConnectId: + type: string + description: Port cross connect identifier + cabinetNumber: + type: string + description: Port cabinet number + systemName: + type: string + description: Port system name + patchPanel: + type: string + description: Port patch panel + patchPanelPortA: + type: string + description: Port patch panel port A + patchPanelPortB: + type: string + description: Port patch panel port B + ibx: + type: string + description: z-side/Equinix IBX + description: Port physical connection + LinkProtocolResponse: + type: object + properties: + href: + type: string + description: LinkProtocol URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned network identifier + format: uuid + example: 92dc376a-a932-43aa-a6a2-c806dedbd784 + state: + $ref: "#/components/schemas/LinkProtocolState" + type: + $ref: "#/components/schemas/LinkProtocolRequestType" + vlanTag: + type: integer + example: 20 + vni: + type: integer + example: 20 + vlanTagMin: + type: integer + example: 20 + vlanTagMax: + type: integer + example: 200 + vlanSTag: + type: integer + example: 20 + vlanCTag: + type: integer + example: 20 + vlanCTagMin: + type: integer + example: 20 + vlanCTagMax: + type: integer + example: 200 + subInterface: + $ref: "#/components/schemas/SubInterface" + asset: + $ref: "#/components/schemas/LinkProtocolConnection" + serviceToken: + $ref: "#/components/schemas/LinkProtocolServiceToken" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Link Protocol response + PortSortDirection: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + PortSortBy: + type: string + description: Possible field names to use on sorting + default: /device/name + enum: + - /device/name + RouteFilterState: + type: string + description: Route Filter status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFiltersChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_UPDATE + - BGP_IPv4_PREFIX_FILTER_CREATION + - BGP_IPv4_PREFIX_FILTER_DELETION + - BGP_IPv6_PREFIX_FILTER_UPDATE + - BGP_IPv6_PREFIX_FILTER_CREATION + - BGP_IPv6_PREFIX_FILTER_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter change + RouteFiltersPatchRequestItem: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /name + value: + type: object + description: new value for updated parameter + description: Route Filter change operation data + RouteFiltersChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RouteFiltersBase" + description: Route Filter change operation data + RouteFilterConnectionsData: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + example: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: + $ref: "#/components/schemas/ConnectionType" + uuid: + type: string + description: Route Filter identifier + format: uuid + example: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: + type: string + example: connection-1 + RouteFilterRuleState: + type: string + description: Route Filter Rule status + enum: + - PROVISIONING + - REPROVISIONING + - DEPROVISIONING + - PROVISIONED + - DEPROVISIONED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + RouteFilterRulesChange: + required: + - type + - uuid + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv4_PREFIX_FILTER_RULE_CREATION + - BGP_IPv4_PREFIX_FILTER_RULE_DELETION + - BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + - BGP_IPv6_PREFIX_FILTER_RULE_CREATION + - BGP_IPv6_PREFIX_FILTER_RULE_DELETION + href: + type: string + description: Route Filter Change URI + format: uri + description: Current state of latest Route Filter Rule change + RouteFilterRulesPatchRequestItem: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + example: replace + path: + type: string + description: path to change + example: /prefixMatch + value: + type: object + description: new value for updated parameter + description: Route Filter Rule change operation data + RouteFilterRulesChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - add + - replace + - remove + path: + type: string + description: path inside document leading to updated parameter + example: / + value: + $ref: "#/components/schemas/RouteFilterRulesBase" + description: Route Filter Rule change operation data + SimplifiedLocationWithoutIBX: + required: + - metroCode + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + region: + type: string + example: AMER, APAC, EMEA + metroName: + type: string + example: Amsterdam + metroCode: + type: string + example: AM + CloudRouterPostRequestPackage: + required: + - code + type: object + properties: + href: + type: string + description: Fabric Cloud Router URI + format: uri + example: https://api.equinix.com/fabric/v4/routerPackages/LAB + type: + type: string + description: Cloud Router package type + example: ROUTER_PACKAGE + enum: + - ROUTER_PACKAGE + code: + type: string + description: Cloud Router package code + example: LAB + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + description: Fabric Cloud Router Package Type + CloudRouterAccessPointState: + type: string + description: Access point lifecycle state + enum: + - PROVISIONED + - PROVISIONING + - DEPROVISIONING + - DEPROVISIONED + - LOCKED + - NOT_PROVISIONED + - NOT_DEPROVISIONED + CloudRouterChange: + required: + - type + - updatedDateTime + type: object + properties: + uuid: + type: string + description: Uniquely identifies a change + type: + type: string + description: Type of change + enum: + - ROUTER_UPDATE + - ROUTER_PACKAGE_UPDATE + status: + type: string + description: Current outcome of the change flow + enum: + - COMPLETED + - FAILED + - REQUESTED + createdDateTime: + type: string + description: Set when change flow starts + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + description: Set when change object is updated + format: date-time + example: 2020-11-06T07:00:00Z + information: + type: string + description: Additional information + data: + $ref: "#/components/schemas/CloudRouterChangeOperation" + description: Current state of latest CloudRouter change + CloudRouterChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + value: + description: new value for updated parameter + description: Fabric Cloud Router change operation data + CloudRouterActionType: + type: string + description: Cloud Router action type + enum: + - BGP_SESSION_STATUS_UPDATE + - ROUTE_TABLE_ENTRY_UPDATE + RouteTableEntry: + required: + - changeLog + - state + - type + type: object + properties: + type: + $ref: "#/components/schemas/RouteTableEntryType" + protocolType: + $ref: "#/components/schemas/RouteTableEntryProtocolType" + state: + $ref: "#/components/schemas/RouteTableEntryState" + age: + type: string + example: PT5M30S + prefix: + type: string + example: 192.168.10.0/24 + nextHop: + type: string + example: 10.10.10.5 + metric: + type: integer + example: 5 + localPreference: + type: integer + example: 200 + asPath: + type: array + items: + type: integer + connection: + $ref: "#/components/schemas/RouteTableEntry_connection" + changeLog: + $ref: "#/components/schemas/Changelog" + description: Route table entry object + code: + type: string + description: Cloud Router package code + example: LAB + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + PackageChangeLog: + type: object + properties: + createdDateTime: + type: string + format: date-time + example: 2020-11-06T07:00:00Z + updatedDateTime: + type: string + format: date-time + example: 2020-11-06T07:00:00Z + description: Cloud Router package change log + ApiServices: + type: object + properties: + route: + type: string + description: service routes + status: + type: string + description: service status + changedDateTime: + type: string + description: service status change date + description: Available services details + NetworkType: + type: string + description: Network type + enum: + - EVPLAN + - EPLAN + - IPWAN + NetworkScope: + type: string + description: Network scope + enum: + - REGIONAL + - GLOBAL + - LOCAL + NetworkState: + type: string + description: Network status + example: ACTIVE + enum: + - ACTIVE + - INACTIVE + - DELETED + SimplifiedNetworkChange: + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + uuid: + type: string + description: Uniquely identifies a change + format: uuid + example: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: + $ref: "#/components/schemas/NetworkChangeType" + description: Current state of latest network change + NetworkOperation: + type: object + properties: + equinixStatus: + $ref: "#/components/schemas/NetworkEquinixStatus" + description: Network operational data + Link: + type: object + properties: + href: + type: string + description: Resource URI + format: uri + readOnly: true + rel: + type: string + description: OperationId from Swagger hub spec + method: + type: string + description: Http method type + contentType: + type: string + description: Content type for the response + authenticate: + type: boolean + description: Authentication required or not + NetworkChangeOperation: + required: + - op + - path + - value + type: object + properties: + op: + type: string + description: Handy shortcut for operation name + enum: + - replace + - add + - remove + path: + type: string + description: path inside document leading to updated parameter + example: /name + value: + description: new value for updated parameter + description: Network change operation data + NetworkSortCriteriaResponse: + type: object + properties: + direction: + $ref: "#/components/schemas/NetworkSortDirectionResponse" + property: + $ref: "#/components/schemas/NetworkSortByResponse" + NetworkChangeType: + type: string + description: Type of change + enum: + - NETWORK_CREATION + - NETWORK_UPDATE + - NETWORK_DELETION + NetworkChangeStatus: + type: string + description: Current outcome of the change flow + enum: + - APPROVED + - COMPLETED + - FAILED + - REJECTED + - REQUESTED + - SUBMITTED_FOR_APPROVAL + fabricConnectionUuid: + title: fabricConnectionUuid + required: + - uuid + type: object + properties: + uuid: + type: string + description: uuid of the Fabric L2 connection + format: uuid + href: + type: string + description: the href for the L2 connection + format: uri + type: + type: string + description: UUID of the Fabric Connection Instance + example: + uuid: 095be615-a8ad-4c33-8e9c-c7612fbf6c9f + ipv4: + title: ipv4 + type: object + properties: + primary: + type: string + format: ipv4 + secondary: + type: string + format: ipv4 + networkMask: + type: string + format: ipv4 + defaultGateway: + type: string + format: ipv4 + description: EPT service network information + example: + primary: 10.0.0.1 + secondary: 10.0.0.2 + networkMask: 255.255.255.240 + defaultGateway: 10.0.0.3 + account: + required: + - accountNumber + type: object + properties: + accountNumber: + type: integer + isResellerAccount: + type: boolean + orgId: + type: string + globalOrgId: + type: string + description: Account model, includes account number and flag to indicate if this account is reseller + example: + accountNumber: 123456 + advanceConfiguration: + type: object + properties: + ntp: + $ref: "#/components/schemas/ntpAdvanceConfiguration" + ptp: + $ref: "#/components/schemas/ptpAdvanceConfiguration" + description: Advance Configuration for NTP/PTP + precisionTimePackageRequest: + title: precisionTimePackageRequest + required: + - code + type: object + properties: + href: + type: string + format: uri + code: + type: string + enum: + - NTP_STANDARD + - NTP_ENTERPRISE + - PTP_STANDARD + - PTP_ENTERPRISE + description: EPT Package Request + example: + code: NTP_STANDARD + connectionLink: + type: object + properties: + href: + type: string + format: uri + example: https://api.equinix.com/fabric/v4/timeServices/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + type: + type: string + enum: + - EVPL_VC + uuid: + type: string + format: uuid + ConnectionPriority: + type: string + description: Connection priority in redundancy group + enum: + - PRIMARY + - SECONDARY + AccessPoint: + type: object + properties: + type: + $ref: "#/components/schemas/AccessPointType" + account: + $ref: "#/components/schemas/SimplifiedAccount" + location: + $ref: "#/components/schemas/SimplifiedLocation" + port: + $ref: "#/components/schemas/SimplifiedPort" + profile: + $ref: "#/components/schemas/SimplifiedServiceProfile" + router: + $ref: "#/components/schemas/CloudRouter" + linkProtocol: + $ref: "#/components/schemas/SimplifiedLinkProtocol" + virtualDevice: + $ref: "#/components/schemas/VirtualDevice" + interface: + $ref: "#/components/schemas/Interface" + network: + $ref: "#/components/schemas/SimplifiedNetwork" + sellerRegion: + type: string + description: Access point seller region + peeringType: + $ref: "#/components/schemas/PeeringType" + authenticationKey: + type: string + description: Access point authentication key + providerConnectionId: + type: string + description: Provider assigned Connection Id + virtualNetwork: + $ref: "#/components/schemas/VirtualNetwork" + interconnection: + $ref: "#/components/schemas/MetalInterconnection" + vpic_interface: + $ref: "#/components/schemas/VpicInterface" + description: Access point object + InternetAccess: + type: object + properties: + uuid: + type: string + description: Internet Access Service Identifier + format: uuid + description: Internet Access Details + ConnectionCompanyProfile: + type: object + properties: + id: + type: number + description: company profile identifier + example: 1 + name: + type: string + description: company profile name + example: Company-1 + globalOrgId: + type: string + description: global customer organization value + description: Connection Company Profile Details + ConnectionInvitation: + type: object + properties: + email: + type: string + description: invitee email + example: test@equinix.com + message: + type: string + description: invitation message + example: Hello, Please accept my invitation + ctrDraftOrderId: + type: string + description: draft order id for invitation + description: Connection Invitation Details + ProviderStatus: + type: string + description: Connection provider readiness status + enum: + - AVAILABLE + - DEPROVISIONED + - DEPROVISIONING + - FAILED + - NOT_AVAILABLE + - PENDING_APPROVAL + - PENDING_CONFIGURATION + - PROVISIONED + - PROVISIONING + - REJECTED + - PENDING_BGP + - OUT_OF_BANDWIDTH + - DELETED + - ERROR + - ERRORED + - NOTPROVISIONED + - NOT_PROVISIONED + - ORDERING + - DELETING + - PENDING DELETE + - N/A + EquinixStatus: + type: string + description: Connection status + enum: + - REJECTED_ACK + - REJECTED + - PENDING_DELETE + - PROVISIONED + - BEING_REPROVISIONED + - BEING_DEPROVISIONED + - BEING_PROVISIONED + - CREATED + - ERRORED + - PENDING_DEPROVISIONING + - APPROVED + - ORDERING + - PENDING_APPROVAL + - NOT_PROVISIONED + - DEPROVISIONING + - NOT_DEPROVISIONED + - PENDING_AUTO_APPROVAL + - PROVISIONING + - PENDING_BGP_PEERING + - PENDING_PROVIDER_VLAN + - DEPROVISIONED + - DELETED + - PENDING_BANDWIDTH_APPROVAL + - AUTO_APPROVAL_FAILED + - UPDATE_PENDING + - DELETED_API + - MODIFIED + - PENDING_PROVIDER_VLAN_ERROR + - DRAFT + - CANCELLED + - PENDING_INTERFACE_CONFIGURATION + BGPConnectionOperation: + type: object + properties: + operationalStatus: + type: string + description: BGP IPv4 or IPv6 Connection State operational status + enum: + - UP + - DOWN + - UNKNOWN + opStatusChangedAt: + type: string + description: Last BGP State Update by Date and Time + format: date-time + example: 2021-10-30T07:21:39Z + description: BGP IPv4 or IPv6 Connection State operational data + RoutingProtocolOperation: + type: object + properties: + errors: + type: array + items: + $ref: "#/components/schemas/Error" + ProductType: + type: string + description: Product type + enum: + - VIRTUAL_CONNECTION_PRODUCT + - IP_BLOCK_PRODUCT + - VIRTUAL_PORT_PRODUCT + - CLOUD_ROUTER_PRODUCT + PriceCharge: + type: object + properties: + type: + type: string + description: Price charge type + enum: + - MONTHLY_RECURRING + - NON_RECURRING + price: + minimum: 0 + type: number + description: Offering price + format: double + description: Price Charge + PriceCategory: + type: string + description: Price category + enum: + - COUNTRY + - CUSTOMER + VirtualConnectionPrice: + type: object + properties: + uuid: + type: string + description: Either uuid or rest of attributes are required + format: uuid + type: + $ref: "#/components/schemas/VirtualConnectionPriceConnectionType" + bandwidth: + minimum: 0 + type: integer + aSide: + $ref: "#/components/schemas/VirtualConnectionPriceASide" + zSide: + $ref: "#/components/schemas/VirtualConnectionPriceZSide" + description: Virtual Connection Product configuration + IpBlockPrice: + type: object + properties: + uuid: + type: string + description: Either uuid or rest of attributes are required + format: uuid + type: + $ref: "#/components/schemas/IpBlockType" + prefixLength: + type: integer + location: + $ref: "#/components/schemas/PriceLocation" + description: IP Block Product configuration + FabricCloudRouterPrice: + type: object + properties: + uuid: + type: string + description: Unique identifier assigned to the Cloud Router + format: uuid + location: + $ref: "#/components/schemas/PriceLocation" + package: + $ref: "#/components/schemas/FabricCloudRouterPackages" + description: Cloud Router Product configuration + VirtualPortPrice: + type: object + properties: + uuid: + type: string + description: Unique identifier assigned to the virtual port. Either the uuid or the remaining attributes must be supplied. + format: uuid + type: + $ref: "#/components/schemas/VirtualPortType" + location: + $ref: "#/components/schemas/VirtualPortLocation" + lag: + $ref: "#/components/schemas/LinkAggregationGroup" + physicalPortsQuantity: + type: integer + description: Number of physical ports requested. The defaults is 1. + default: 1 + bandwidth: + type: integer + description: Aggregated data transfer capacity, expressed as follows
-> Mbps, megabits (1 million bits) per second
-> Gbps, gigabits (1 billion bits) per second
Bandwidth must be divisible by physicalPortsQuantity. + redundancy: + $ref: "#/components/schemas/VirtualPortRedundancy" + connectivitySource: + $ref: "#/components/schemas/ConnectivitySource" + serviceType: + $ref: "#/components/schemas/VirtualPortServiceType" + settings: + $ref: "#/components/schemas/VirtualPortConfiguration" + description: Preferences and settings for a virtual port connected to an internet service provider (ISP) or other Equinix platform entity. + ServiceTokenSide: + type: object + properties: + accessPointSelectors: + type: array + description: List of AccessPointSelectors + items: + $ref: "#/components/schemas/AccessPointSelector" + description: Connection link protocol configuration + PortDeviceRedundancy: + type: object + properties: + group: + type: string + description: Device redundancy group + priority: + type: string + description: Device redundancy priority + enum: + - PRIMARY + - SECONDARY + description: Device redundancy + PortPriority: + type: string + description: Port priority in redundancy group + enum: + - PRIMARY + - SECONDARY + LinkProtocolState: + type: string + description: Network status + enum: + - RESERVED + - RELEASED + LinkProtocolRequestType: + type: string + description: Type of Link Protocol + enum: + - UNTAGGED + - DOT1Q + - QINQ + - VXLAN + SubInterface: + type: object + properties: + name: + type: string + description: name of subinterafce of a port + unit: + type: integer + example: 200 + description: Sub Interface information + LinkProtocolConnection: + type: object + properties: + href: + type: string + description: Connection URI + format: uri + readOnly: true + uuid: + type: string + format: string + example: cd67f685-41b0-1b07-6de0-320a5c00abe + type: + type: string + example: EVPL_VC + bandwidth: + type: integer + format: int64 + example: 100 + description: Connection details of Link Protocol + LinkProtocolServiceToken: + type: object + properties: + href: + type: string + description: Service Token URI + format: uri + readOnly: true + uuid: + type: string + format: uuid + example: cd67f685-41b0-1b07-6de0-0320a5c00abe + type: + type: string + example: TOKEN + bandwidth: + type: integer + format: int64 + example: 1000 + description: Service Token details of Link Protocol + RouteTableEntryType: + type: string + description: Route table entry type + enum: + - IPv4_BGP_ROUTE + - IPv4_STATIC_ROUTE + - IPv4_DIRECT_ROUTE + - IPv6_BGP_ROUTE + - IPv6_STATIC_ROUTE + - IPv6_DIRECT_ROUTE + RouteTableEntryProtocolType: + type: string + description: Route table entry protocol type + enum: + - BGP + - STATIC + - DIRECT + RouteTableEntryState: + type: string + description: Route table entry state + enum: + - ACTIVE + NetworkEquinixStatus: + type: string + description: Network status + enum: + - PROVISIONING + - PROVISIONED + - NOT_PROVISIONED + - DEPROVISIONING + - DEPROVISIONED + - NOT_DEPROVISIONED + NetworkSortDirectionResponse: + type: string + description: Sorting direction + default: DESC + enum: + - DESC + - ASC + NetworkSortByResponse: + type: string + description: Possible field names to use on sorting + default: /changeLog/updatedDateTime + enum: + - /name + - /type + - /uuid + - /state + - /scope + - /location/region + - /changeLog/createdDateTime + - /changeLog/updatedDateTime + ntpAdvanceConfiguration: + type: array + items: + $ref: "#/components/schemas/md5" + ptpAdvanceConfiguration: + type: object + properties: + timeScale: + type: string + description: Time Scale value, ARB denotes Arbitrary and PTP denotes Precision Time Protocol. + example: ARB + enum: + - ARB + - PTP + domain: + maximum: 127 + minimum: 0 + type: integer + example: 0 + priority1: + maximum: 248 + minimum: 0 + type: integer + example: 0 + priority2: + maximum: 248 + minimum: 0 + type: integer + example: 0 + logAnnounceInterval: + type: integer + description: The mean time interval between Announce messages. A shorter interval makes ptp4l react faster to the changes in the master-slave hierarchy. The interval should be the same in the whole domain. It's specified as a power of two in seconds. The default is 1 (2 seconds). + example: 0 + logSyncInterval: + type: integer + description: The mean time interval between Sync messages. A shorter interval may improve accuracy of the local clock. It's specified as a power of two in seconds. The default is 0 (1 second). + example: 0 + logDelayReqInterval: + type: integer + example: 0 + transportMode: + type: string + enum: + - Multicast + - Unicast + - Hybrid + grantTime: + maximum: 7200 + minimum: 30 + type: integer + description: Unicast Grant Time in seconds. For Multicast and Hybrid transport modes, grant time defaults to 300 seconds. For Unicast mode, grant time can be between 30 to 7200. + example: 300 + AccessPointType: + type: string + description: Access point type + enum: + - VD + - VG + - SP + - IGW + - COLO + - SUBNET + - CLOUD_ROUTER + - NETWORK + - METAL_NETWORK + - VPIC_INTERFACE + SimplifiedPort: + type: object + properties: + type: + $ref: "#/components/schemas/PortType" + id: + type: integer + description: Equinix assigned response attribute for Port Id + href: + type: string + description: Equinix assigned response attribute for an absolute URL that is the subject of the link's context. + format: uri + readOnly: true + uuid: + type: string + description: Equinix assigned response attribute for port identifier + format: uuid + name: + type: string + description: Equinix assigned response attribute for Port name + description: + type: string + description: Equinix assigned response attribute for Port description + physicalPortsSpeed: + minimum: 0 + type: integer + description: Physical Ports Speed in Mbps + connectionsCount: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Connection count + project: + $ref: "#/components/schemas/Project" + state: + $ref: "#/components/schemas/PortState" + cvpId: + type: string + description: Equinix assigned response attribute for Unique ID for a virtual port. + operation: + $ref: "#/components/schemas/PortOperation" + account: + $ref: "#/components/schemas/SimplifiedAccount" + serviceType: + type: string + description: Port service Type + enum: + - EPL + - MSP + bandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port bandwidth in Mbps + availableBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port available bandwidth in Mbps + usedBandwidth: + minimum: 0 + type: integer + description: Equinix assigned response attribute for Port used bandwidth in Mbps + location: + $ref: "#/components/schemas/SimplifiedLocation" + device: + $ref: "#/components/schemas/PortDevice" + interface: + $ref: "#/components/schemas/PortInterface" + tether: + $ref: "#/components/schemas/PortTether" + demarcationPoint: + $ref: "#/components/schemas/PortDemarcationPoint" + redundancy: + $ref: "#/components/schemas/PortRedundancy" + encapsulation: + $ref: "#/components/schemas/PortEncapsulation" + lagEnabled: + type: boolean + description: If LAG enabled + settings: + $ref: "#/components/schemas/PortSettings" + physicalPortQuantity: + type: integer + description: Number of physical ports + additionalInfo: + type: array + description: Port additional information + items: + $ref: "#/components/schemas/PortAdditionalInfo" + physicalPorts: + type: array + description: Physical ports that implement this port + items: + $ref: "#/components/schemas/PhysicalPort" + description: Port specification + SimplifiedLinkProtocol: + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vlanTag: + maximum: 4092 + minimum: 2 + type: integer + description: vlanTag value specified for DOT1Q connections + vlanSTag: + maximum: 4092 + minimum: 2 + type: integer + description: vlanSTag value specified for QINQ connections + vlanCTag: + maximum: 4092 + minimum: 2 + type: integer + description: vlanCTag value specified for QINQ connections + description: Connection link protocol Configuration + VirtualDevice: + type: object + properties: + href: + type: string + description: Virtual Device URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Device identifier + format: uuid + name: + type: string + description: Customer-assigned Virtual Device name + type: + type: string + description: Virtual Device type + enum: + - EDGE + account: + $ref: "#/components/schemas/SimplifiedAccount" + description: Virtual Device AccessPoint Information + Interface: + type: object + properties: + href: + type: string + description: Interface URI + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Interface identifier + format: uuid + id: + type: integer + description: Interface id + type: + type: string + description: Interface type + enum: + - CLOUD + - NETWORK + projectId: + type: string + description: Interface Project ID + description: Interface Information + SimplifiedNetwork: + required: + - uuid + type: object + properties: + href: + type: string + description: Network URI + format: uri + readOnly: true + example: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + uuid: + type: string + description: Equinix-assigned network identifier + format: uuid + example: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: + type: string + description: Customer-assigned network name + example: My EVPLAN Network + state: + $ref: "#/components/schemas/NetworkState" + account: + $ref: "#/components/schemas/SimplifiedAccount" + change: + $ref: "#/components/schemas/SimplifiedNetworkChange" + operation: + $ref: "#/components/schemas/NetworkOperation" + changeLog: + $ref: "#/components/schemas/Changelog" + links: + type: array + description: Network sub-resources links + readOnly: true + items: + $ref: "#/components/schemas/Link" + type: + $ref: "#/components/schemas/NetworkType" + scope: + $ref: "#/components/schemas/NetworkScope" + location: + $ref: "#/components/schemas/SimplifiedLocation" + description: Network specification + PeeringType: + type: string + description: Access point peering type + enum: + - PRIVATE + - MICROSOFT + - PUBLIC + - MANUAL + VirtualNetwork: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: Equinix-assigned Virtual Network identifier + format: uuid + description: Virtual Network Information + MetalInterconnection: + type: object + properties: + uuid: + type: string + description: Equinix Metal Interconnection + format: uuid + description: Metal Interconnection + VpicInterface: + type: object + properties: + href: + type: string + description: The Canonical URL at which the resource resides. + format: uri + readOnly: true + uuid: + type: string + description: MCN assigned VPIC Interface Identifier + format: uuid + description: MCN VPIC Interface Information + VirtualConnectionPriceConnectionType: + type: string + description: Virtual Connection type + enum: + - EVPL_VC + - EPL_VC + - EC_VC + - IP_VC + - VD_CHAIN_VC + - ACCESS_EPL_VC + - EVPLAN_VC + - EPLAN_VC + - IPWAN_VC + - IA_VC + VirtualConnectionPriceASide: + type: object + properties: + accessPoint: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint" + VirtualConnectionPriceZSide: + type: object + properties: + accessPoint: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint" + IpBlockType: + type: string + description: IP Block type + enum: + - IPv4 + - IPv6 + PriceLocation: + type: object + properties: + metroCode: + type: string + FabricCloudRouterPackages: + type: object + properties: + code: + $ref: "#/components/schemas/FabricCloudRouterCode" + description: Cloud Router package + VirtualPortType: + type: string + description: Port type. + enum: + - XF_PORT + VirtualPortLocation: + type: object + properties: + ibx: + type: string + description: Code assigned to the Equinix International Business Exchange (IBX) data center from which the port is ordered.
The port might be in a different location. + description: Geographic data for the port. + LinkAggregationGroup: + type: object + properties: + enabled: + type: boolean + description: Parameter showing whether LAG configuration is mandatory. The default is false. + default: false + description: Link aggregation group (LAG) preferences and settings. + VirtualPortRedundancy: + type: object + properties: + enabled: + type: boolean + description: Parameter showing whether redundancy is mandatory. The default is false. + default: false + description: Specifications for redundant connections, which improve service continuity by routing traffic to secondary ports when primary ports are unavailable.
Redundancy increases resilience and boosts site reliability scores. + ConnectivitySource: + type: object + properties: + type: + $ref: "#/components/schemas/ConnectivitySourceType" + description: Physical or virtual port that houses the connection. + VirtualPortServiceType: + type: string + description: Port service type. The default is managed-service provider (MSP). + default: MSP + enum: + - MSP + - EPL + VirtualPortConfiguration: + type: object + properties: + buyout: + type: boolean + description: Buyout (true) or standard (false) configuration of the port at this access point.
Buyout ports offer free, unlimited connections. Standard ports do not. The default is false. + default: false + description: Port configuration. + AccessPointSelector: + type: object + properties: + type: + type: string + description: Type of Access point + enum: + - COLO + port: + $ref: "#/components/schemas/SimplifiedMetadataEntity" + linkProtocol: + $ref: "#/components/schemas/LinkProtocol" + description: List of criteria for selecting network access points with optimal efficiency, security, compatibility, and availability. + md5: + type: object + properties: + type: + type: string + enum: + - ASCII + - HEX + id: + type: string + password: + type: string + LinkProtocolType: + type: string + description: Type of Link Protocol + enum: + - UNTAGGED + - DOT1Q + - QINQ + - EVPN_VXLAN + - VXLAN + VirtualConnectionPriceAccessPointType: + type: string + description: Virtual Connection access point type + enum: + - VD + - SP + - COLO + - CLOUD_ROUTER + - CHAINGROUP + - NETWORK + - METAL_NETWORK + VirtualConnectionBridgePackageCode: + type: string + description: Virtual Connection bridge package code + enum: + - REGIONAL + - GLOBAL + FabricCloudRouterCode: + type: string + description: Cloud Router code + enum: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + ConnectivitySourceType: + type: string + description: Type of connectivity. COLO, colocation; BMMR, building meet-me room. The default is COLO.
A building meet-me room (BMMR) is a room within the same building where an Equinix IBX customer can connect with a non-Equinix IBX customer. + default: COLO + enum: + - COLO + - BMMR + - REMOTE + SimplifiedMetadataEntity: + type: object + properties: + href: + type: string + description: url to entity + format: uri + uuid: + type: string + description: Equinix assigned Identifier + format: uuid + type: + type: string + description: Type of Port + description: Configuration details for port used at the access point. + LinkProtocol: + required: + - type + type: object + description: Connection link protocol Configuration + discriminator: + propertyName: type + mapping: + UNTAGGED: "#/components/schemas/LinkProtocolUntagged" + DOT1Q: "#/components/schemas/LinkProtocolDot1q" + QINQ: "#/components/schemas/LinkProtocolQinq" + VXLAN: "#/components/schemas/LinkProtocolVxlan" + EVPN_VXLAN: "#/components/schemas/LinkProtocolEvpnVxlan" + oneOf: + - $ref: "#/components/schemas/LinkProtocolUntagged" + - $ref: "#/components/schemas/LinkProtocolDot1q" + - $ref: "#/components/schemas/LinkProtocolQinq" + - $ref: "#/components/schemas/LinkProtocolVxlan" + - $ref: "#/components/schemas/LinkProtocolEvpnVxlan" + LinkProtocolUntagged: + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + ipv4: + $ref: "#/components/schemas/LinkProtocolIpv4Ipv6Config" + ipv6: + $ref: "#/components/schemas/LinkProtocolIpv4Ipv6Config" + description: Connection link protocol configuration - UNTAGGED + LinkProtocolDot1q: + required: + - vlanTag + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + tagProtocolId: + type: string + description: Tag protocol identifier + vlanTag: + type: string + description: VLAN tag + vlanTagMin: + type: integer + description: VLAN tag Min value specified for DOT1Q connections + vlanTagMax: + type: integer + description: VLAN tag Max value specified for DOT1Q connections + description: Connection link protocol configuration - DOT1Q + LinkProtocolQinq: + required: + - innerTagProtocolId + - outerTagProtocolId + - vlanCTag + - vlanSTag + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + innerTagProtocolId: + type: integer + description: Inner tag protocol identifier + outerTagProtocolId: + type: integer + description: Outer tag protocol identifier + vlanCTag: + type: integer + description: Inner tag, i.e., C-VLAN tag + vlanSTag: + type: integer + description: Outer tag, i.e., S-VLAN tag + vlanCTagMin: + type: integer + description: Outer tag Min value specified for QINQ connections + vlanCTagMax: + type: integer + description: Outer tag Max value specified for QINQ connections + subInterface: + type: integer + description: Subinterface identifier + description: Connection link protocol configuration - QINQ + LinkProtocolVxlan: + required: + - vni + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vni: + maximum: 16777215 + minimum: 4097 + type: integer + description: Virtual Network Identifier + description: Connection link protocol configuration - VXLAN + LinkProtocolEvpnVxlan: + required: + - type5vni + - vnid + type: object + properties: + type: + $ref: "#/components/schemas/LinkProtocolType" + vnid: + maximum: 40000 + minimum: 20001 + type: integer + description: Virtual Network Identifier + type5vni: + type: integer + description: Type 5 VNI identifier + description: Connection link protocol configuration - EVPN_VXLAN + LinkProtocolIpv4Ipv6Config: + type: object + properties: + linkPrefix: + type: string + description: Link subnet prefix + localIfaceIp: + type: string + description: Prefix datatype when linkPrefix not specified + remoteIfaceIp: + type: string + description: Equinix-side link interface address + description: IPv4 or IPv6 specific configuration + PriceError_additionalInfo: + type: object + properties: + property: + type: string + reason: + type: string + RouteFiltersData_project: + required: + - projectId + type: object + properties: + projectId: + type: string + description: Subscriber-assigned project ID + example: 44f4c4f8-2f39-494e-838c-d8e640591be5 + href: + type: string + description: Project URI + format: uri + example: https://api.equinix.com/resourceManager/v1/projects/567 + RouteFiltersSearchBase_filter: + type: object + properties: + and: + type: array + items: + $ref: "#/components/schemas/RouteFiltersSearchFilterItem" + ValidateRequest_filter_and: + properties: + property: + type: string + description: Path to property + operator: + type: string + description: Type of operation + values: + type: array + description: Values for the given property + items: + type: string + ValidateRequest_filter: + type: object + properties: + and: + type: array + items: + $ref: "#/components/schemas/ValidateRequest_filter_and" + description: Filters + 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 + 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: + uuid: + type: string + example: 81331c52-04c0-4656-a4a7-18c52669348f + name: + type: string + example: connection_1 + VirtualConnectionPriceASide_accessPoint_port_settings: + type: object + properties: + buyout: + type: boolean + default: false + VirtualConnectionPriceASide_accessPoint_port: + type: object + properties: + settings: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint_port_settings" + VirtualConnectionPriceASide_accessPoint: + type: object + properties: + uuid: + type: string + format: uuid + type: + $ref: "#/components/schemas/VirtualConnectionPriceAccessPointType" + location: + $ref: "#/components/schemas/PriceLocation" + port: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint_port" + VirtualConnectionPriceZSide_accessPoint_profile: + type: object + properties: + uuid: + type: string + format: uuid + VirtualConnectionPriceZSide_accessPoint_bridge_package: + type: object + properties: + code: + $ref: "#/components/schemas/VirtualConnectionBridgePackageCode" + VirtualConnectionPriceZSide_accessPoint_bridge: + type: object + properties: + package: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint_bridge_package" + VirtualConnectionPriceZSide_accessPoint: + type: object + properties: + uuid: + type: string + format: uuid + type: + $ref: "#/components/schemas/VirtualConnectionPriceAccessPointType" + location: + $ref: "#/components/schemas/PriceLocation" + port: + $ref: "#/components/schemas/VirtualConnectionPriceASide_accessPoint_port" + profile: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint_profile" + bridge: + $ref: "#/components/schemas/VirtualConnectionPriceZSide_accessPoint_bridge" + examples: + "400": + value: + - errorCode: EQ-3142102 + errorMessage: Connection has duplicate buyer-side VLAN ID for port or the same VLAN ID is in the process of being deleted and should be freed up soon + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: /aSide/accessPoint/linkProtocol + - errorCode: EQ-3142535 + errorMessage: The connection bandwidth provided in the connection request exceeds the bandwidth Limit on ServiceToken + details: Please enter bandwidth less than the Speed limit on ServiceToken + correlationId: test + additionalInfo: + - property: /aSide/serviceToken/uuid + - errorCode: EQ-3142536 + errorMessage: Remote connection cannot be created with the provided ServiceToken + details: Only local Connection can be created using this ServiceToken + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/port/uuid + - errorCode: EQ-3142701 + errorMessage: The connection bandwidth provided in the connection request exceeds the bandwidth Limit on ServiceToken + details: not an authorized user + correlationId: test + - errorCode: EQ-3142501 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: aSide/accessPoint/port/uuid + - errorCode: EQ-3142509 + errorMessage: Connection already deleted + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: uuid + - errorCode: EQ-3142510 + errorMessage: Connection is in transient state + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: uuid + - errorCode: EQ-3142221 + errorMessage: The primary and secondary token provided have different bandwidth tiers. Please use two tokens that support the same bandwidth tiers + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142222 + errorMessage: The primary and secondary tokens have different encapsulation types (Dot1Q or QinQ). Please use two tokens that support the same encapsulation type + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142223 + errorMessage: The primary and secondary tokens belong to different projects. Please use two tokens that belong to the same project + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142224 + errorMessage: The primary and secondary ports have different port speeds (bandwidth). Please use two tokens that support the same port speed + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142225 + errorMessage: The primary and secondary tokens provided are the same. Please provide a different token + correlationId: test + additionalInfo: + - property: /zSide/serviceToken/uuid + - errorCode: EQ-3142514 + errorMessage: Redundancy group is required + correlationId: test + additionalInfo: + - property: /redundancy/group + - errorCode: EQ-3142515 + errorMessage: Redundancy priority is required + correlationId: test + additionalInfo: + - property: /redundancy/priority + - errorCode: EQ-3142516 + errorMessage: Invalid redundancy group + correlationId: test + additionalInfo: + - property: /redundancy/group + - errorCode: EQ-3142517 + errorMessage: Invalid redundancy priority + correlationId: test + additionalInfo: + - property: /redundancy/priority + - errorCode: EQ-3142303 + errorMessage: Only Primary connection allowed for this CSP + correlationId: test + additionalInfo: + - property: /redundancy/priority + - errorCode: EQ-3142320 + errorMessage: For redundant connection, Service Profile should be the same + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/profile/uuid + - errorCode: EQ-3142021 + errorMessage: For redundant connection, Fabric Cloud Router should be the same + correlationId: test + additionalInfo: + - property: /aSide/accessPoint/router/uuid + - errorCode: EQ-3142012 + errorMessage: Fabric Cloud Router is not in PROVISIONED state + correlationId: test + additionalInfo: + - property: /aSide/accessPoint/router/uuid + - errorCode: EQ-3142301 + errorMessage: Given profile does not exist + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/profile/uuid + - errorCode: EQ-3142302 + errorMessage: Service provider does not exist in required zSide metro + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/location/metroCode + - errorCode: EQ-3142013 + errorMessage: Invalid metro for Cloud Router connection + correlationId: test + additionalInfo: + - property: /aSide/accessPoint/router/uuid + - errorCode: EQ-3142304 + errorMessage: Private connections are not allowed on public profiles + correlationId: test + additionalInfo: + - property: visibility + - errorCode: EQ-3142306 + errorMessage: Requested bandwidth is not supported by service profile + correlationId: test + additionalInfo: + - property: /bandwidth + - errorCode: EQ-3142308 + errorMessage: Authentication key is required + correlationId: test + additionalInfo: + - property: /zSide/accessPoint/authenticationKey + "401": + value: + - errorCode: EQ-3000039 + errorMessage: User not found in request or invalid. + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + "403": + value: + - errorCode: EQ-3142402 + errorMessage: Do not have create connection permission on this port + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + "404": + value: + - errorCode: EQ-3000036 + errorMessage: Requested path doesn't exists + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + "405": + value: + - errorCode: EQ-3142569 + errorMessage: Method not supported, Please check the URL passed + details: Method:PATCH + correlationId: f48687b0-d088-46d1-b06c-00c0688fbca9 + "415": + value: + - errorCode: EQ-3040016 + errorMessage: Unsupported media type, please check the request's Content-Type or Content-Encoding + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: contentType + reason: The payload format is in an unsupported format + "500": + value: + - errorCode: EQ-3034003 + errorMessage: Method not supported,Please check the URL passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - reason: method:PATCH + COLO2COLOwithDot1q-Dot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee063 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithDot1q-Dot1q-CRH: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a867f685-41b0-1b07-6de0-320a5c00abdd + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: b067f685-49b0-1a09-6fe0-360a5d00afdg + linkProtocol: + type: DOT1Q + vlanTag: 1001 + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithDot1Q-QinQ: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1002 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithQinq-Qinq: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + linkProtocol: + type: QINQ + vlanSTag: 1001 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLOwithQinq-Dot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1125 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + linkProtocol: + type: DOT1Q + vlanTag: 1001 + notifications: + - type: ALL + emails: + - test@test.com + COLO2COLO-AsReseller: + value: + type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanSTag: 1002 + vlanCTag: 1001 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2COLO-EPL: + value: + type: EPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2COLO-AccessEpl: + value: + type: ACCESS_EPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1234 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2SPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + notifications: + - type: ALL + emails: + - test@test.com + COLO2AlibabaSPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: SV + sellerRegion: San Jose 2 + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2AWSSPwithDot1q-Primary: + value: + type: EVPL_VC + name: Primary-Aws + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + sellerRegion: us-east-1 + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2AzureSPwithDot1q-Primary: + value: + type: EVPL_VC + name: Primary-Azure + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + linkProtocol: + type: QINQ + vlanCTag: 1234 + peeringType: MICROSOFT + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2AzureSPwithQinq-Secondary: + value: + type: EVPL_VC + name: Secondary-Azure + bandwidth: 1000 + redundancy: + group: e04db764-f865-470b-8394-d2efdd651577 + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1002 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2GoogleSPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xx-xxx-xx-xxxxx/us-west1/1 + sellerRegion: us-west1 + project: + projectId: 16799d66ef43 + notifications: + - type: ALL + emails: + - fabric@test.com + COLO2IBM_1: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xxx-xxx-xxx + sellerRegion: San Jose 2 + notifications: + - type: ALL + emails: + - test@test.com + additionalInfo: + - key: ASN + value: 1234 + - key: Global + value: false + COLO2IBM_2: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + authenticationKey: xxx-xxx-xxx + sellerRegion: San Jose 2 + notifications: + - type: ALL + emails: + - test@test.com + additionalInfo: + - key: ASN + value: 1234 + - key: Global + value: false + - key: BGP_IBM_CIDR + value: 172.16.0.18/30 + - key: BGP_CER_CIDR + value: 172.16.0.19/30 + COLO2OracleSPwithDot1q: + value: + type: EVPL_VC + name: My-Layer2-Connection-3 + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + sellerRegion: us-ashburn-1 + authenticationKey: xxx-xxx-xxx + notifications: + - type: ALL + emails: + - test@test.com + COLO2ServiceToken: + value: + type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: m167f685-41b0-1b07-6de0-320a5c00abeu + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + serviceToken: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + COLO2NETWORKwithDot1q: + value: + type: EVPLAN_VC + name: colo2network-evplan-vc + bandwidth: 50 + aSide: + accessPoint: + type: COLO + port: + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + linkProtocol: + type: DOT1Q + vlanTag: 300 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: ae708bbb-d669-406a-845a-99b39ff65fd0 + notifications: + - type: ALL + emails: + - fabric@equinix.com + COLO2NETWORKwithEPL: + value: + type: EPLAN_VC + name: colo2network-eplan-vc + bandwidth: 50 + aSide: + accessPoint: + type: COLO + port: + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: ae708bbb-d669-406a-845a-99b39ff65fd0 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2NETWORK: + value: + type: EVPLAN_VC + name: MY-EVPLAN-CONNECTION-1 + bandwidth: 100 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: ae708bbb-d669-406a-845a-99b39ff65fd0 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2AwsSP: + value: + type: EVPL_VC + name: vd2aws-connection-1 + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 69ee618d-be52-468d-bc99-00566f2dd2b9 + location: + metroCode: SV + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxx + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-1234567890 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2AzureSP: + value: + type: EVPL_VC + name: vd2azure-connection-1 + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + location: + metroCode: SV + authenticationKey: xxxx-xxx-xxxx + peeringType: MICROSOFT + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-1234567890 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2OracleSP: + value: + type: EVPL_VC + name: vd2oracle-connection-1 + bandwidth: 1000 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + location: + metroCode: DC + authenticationKey: ocid1.virtualcircuit.oc1 + sellerRegion: us-ashburn-1 + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2Ibm_1: + value: + type: EVPL_VC + name: vd2ibm10-connection-1 + bandwidth: 50 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 45b446fa-d3b6-417a-b871-a5ee0efdc459 + location: + metroCode: DC + authenticationKey: xxxx-xxx-xxx + sellerRegion: Washington 2 + additionalInfo: + - key: ASN + value: 12345 + - key: Global + value: false + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2Ibm_2: + value: + type: EVPL_VC + name: vd2ibm20-connection-1 + bandwidth: 50 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: e092ed47-63d2-4f4a-87a0-82e3b08eefe5 + location: + metroCode: SV + authenticationKey: xxxx-xxx-xxx + sellerRegion: San Jose 2 + additionalInfo: + - key: ASN + value: 12345 + - key: BGP_CER_CIDR + value: 172.16.0.17/30 + - key: BGP_IBM_CIDR + value: 172.16.0.18/30 + - key: Global + value: false + project: + projectId: 16799d66-ef43 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - fabric@equinix.com + Vd2AlibabaSP: + value: + type: EVPL_VC + name: vd2alibaba-connection-1 + bandwidth: 50 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 4c4b8edf-873b-4c6c-805a-edb2c335bd6c + location: + metroCode: SV + authenticationKey: xxxx-xx-xxxx + sellerRegion: us-west-1 + notifications: + - type: ALL + emails: + - fabric@equinix.com + project: + projectId: 16799d66-ef43 + Vd2GoogleSP: + value: + type: EVPL_VC + name: vd2googleSp-connection-1 + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: e99ec19c-0939-4c47-bfc1-ff94f99ccc75 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: bd4570e2-d792-4a00-87f5-3bde040cdcd7 + location: + metroCode: SV + sellerRegion: us-west2 + authenticationKey: xxxx-xxxx/us-west2/1 + project: + projectId: 16799d66-ef43-445c-ba29-d17522d8a137 + order: + purchaseOrderNumber: 1-1234567890 + notifications: + - type: ALL + emails: + - fabric@equinx.com + Vd2Sp-Primary: + value: + type: EVPL_VC + bandwidth: 50 + name: Network Device to SP + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + authenticationKey: xx-xx-xx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-323292 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Sp-Secondary: + value: + type: EVPL_VC + bandwidth: 50 + name: Network Device to SP + redundancy: + group: 777ca05d-4ae7-4ee9-9456-3ca49500428c + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + authenticationKey: xx-xx-xx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-323292 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Colo: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to COLO + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ColoVlanTag: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to COLO + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTagMin: 300 + vlanTagMax: 1099 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Colo-VlanCTag: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to COLO + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanCTag: 300 + vlanSTag: 301 + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ColoUntagged: + value: + type: EVPL_VC + bandwidth: 1000 + name: vd to SP + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + order: + purchaseOrderNumber: 1-129105284100 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ServiceToken: + value: + type: EVPL_VC + name: Primary-Token + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + zSide: + serviceToken: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Colo: + value: + type: IP_VC + name: My-FCR-Connection + bandwidth: 1000 + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: COLO + port: + uuid: 7b6481b8-1c4a-11ec-9621-0242ac130002 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Google: + value: + type: IP_VC + name: My-FCR-GCPConnection + bandwidth: 1000 + 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 + authenticationKey: xx-xx-xx + sellerRegion: us-west1 + location: + metroCode: SV + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Azure: + value: + type: IP_VC + name: My-FCR-AzureConnection + bandwidth: 1000 + 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 + authenticationKey: xx-xx-xx + location: + metroCode: SV + peeringType: PRIVATE + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Generic: + value: + type: IP_VC + name: My-FCR-GenericConnection + bandwidth: 1000 + 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 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Generic-Redundant-Secondary: + value: + type: IP_VC + name: FCR_to_RedSP_Secondary + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: SECONDARY + 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 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Generic-Redundant-Primary: + value: + type: IP_VC + name: FCR_to_RedSP_Primary-Re-add + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + 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 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Aws: + value: + type: IP_VC + name: My-FCR-AWSConnection + bandwidth: 100 + 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 + sellerRegion: us-west-1 + authenticationKey: xx-xx-xx + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Sp-Oracle: + value: + type: IP_VC + name: My-FCR-OracleConnection + bandwidth: 1000 + 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: DC + sellerRegion: us-ashburn-1 + authenticationKey: xx-xx-xx + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "567" + Fcr2Vd: + value: + type: IP_VC + name: My-GW-VDConnection + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Vd-Redundant-Secondary: + value: + type: IP_VC + name: My-GW-VDConnection-Secondary + bandwidth: 100 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: SECONDARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: NETWORK + id: 45645 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2IpWan: + value: + type: IPWAN_VC + name: MY-IPWAN-CONNECTION-1 + bandwidth: 1000 + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: NETWORK + network: + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 123 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Fcr2Metal-Network: + value: + type: IP_VC + name: My-FCR-MetalNetwork-Connection + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: SECONDARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + AsideServiceToken2PortWithDot1q: + value: + type: EVPL_VC + name: Aside-token + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + location: + metroCode: SV + linkProtocol: + type: DOT1Q + vlanTag: 1001 + order: + purchaseOrderNumber: po1234 + notifications: + - type: ALL + emails: + - test@test.com + AsideServiceToken2PortWithQinq: + value: + type: EVPL_VC + name: Aside-Token + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + location: + metroCode: SV + linkProtocol: + type: QINQ + vlanSTag: 1001 + vlanCTag: 1001 + order: + purchaseOrderNumber: po1234 + notifications: + - type: ALL + emails: + - test@test.com + AsideServiceToken2PrivateSP-NE: + value: + type: EVPL_VC + name: Token2PrivateSP-NE + bandwidth: 50 + redundancy: + priority: PRIMARY + order: + purchaseOrderNumber: po1234 + aSide: + serviceToken: + uuid: 41a9e1ef-18bb-485b-a9b3-99801ac03684 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@test.com + AsideServiceToken2ZsideServiceToken: + value: + type: EVPL_VC + name: Aside to zside token connection + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + zSide: + serviceToken: + uuid: 4f9c5438-90eb-4295-b109-7754119a1e8d + order: + purchaseOrderNumber: po1234 + notifications: + - type: ALL + emails: + - test@test.com + Metal2Sp-Aws: + value: + type: EVPL_VC + name: My-Metal-sp-connection + bandwidth: "1000" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + project: + projectId: 567 + Metal2Sp-Azure: + value: + type: EVPL_VC + name: Metal2Azure Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + location: + metroCode: SV + authenticationKey: xxxxxxxxx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - eqxfabricamcrh@gmail.com + project: + projectId: 16799d66-ef43-445c-ba29-d17522d8a137 + Metal2Sp-GCP: + value: + type: EVPL_VC + name: Metal2GCP-Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + uuid: 063f4b0f-2d5b-4db7-95da-d9eddfc92602 + location: + metroCode: SV + authenticationKey: xxxxxxxxx + sellerRegion: us-west1 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Sp-Oracle: + value: + type: EVPL_VC + name: Metal2Oracle-Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + location: + metroCode: SV + authenticationKey: xxxxxxxxx + sellerRegion: us-sanjose-1 + notifications: + - type: ALL + emails: + - test@gmail.com + project: + projectId: 16799d66-ef43-445c-ba29-d17522d8a137 + Metal2Sp-IBM: + value: + type: EVPL_VC + name: Metal2IBM-Connection + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 317dcd1c-83ba-4d7c-994a-3e7ddb875026 + location: + metroCode: SV + authenticationKey: xxxxxxxxx + sellerRegion: San Jose 2 + additionalInfo: + - key: ASN + value: 12345 + - key: BGP_CER_CIDR + value: 172.16.0.17/30 + - key: BGP_IBM_CIDR + value: 172.16.0.18/30 + - key: Global + value: false + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Port-Dot1q: + value: + type: EVPL_VC + name: Metal2Port-dot1q + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: COLO + port: + uuid: 6c73d02c-87e1-4642-8e18-01eb4b87e243 + linkProtocol: + type: DOT1Q + vlanTag: 128 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Port-Qinq: + value: + type: EVPL_VC + name: Metal2Port-qinq + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: COLO + port: + uuid: 4ff4047c-7217-4b79-9943-c2c4a2f7324d + linkProtocol: + type: QINQ + vlanSTag: 134 + vlanCTag: 439 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2ServiceToken: + value: + type: EVPL_VC + name: Metal2ServiceToken + bandwidth: "50" + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + serviceToken: + uuid: bc1383be-579a-4d75-ae19-b0d487bbff90 + notifications: + - type: ALL + emails: + - test@equinix.com + project: + projectId: "377533000114703" + Metal2Sp-Generic: + value: + type: EVPL_VC + name: Metal2Generic + bandwidth: 1000 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + authenticationKey: xxxxxxxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroCode: DC + notifications: + - type: ALL + emails: + - test@test.com + MCNS2Sp-Aws: + value: + type: EVPL_VC + name: My-MCNS2Aws-connection + bandwidth: 50 + aSide: + accessPoint: + type: VPIC_INTERFACE + authenticationKey: xxxx-xxx-xxxx + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + location: + metroCode: DC + authenticationKey: xxxx-xxx-xxxx + sellerRegion: us-east-1 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + project: + projectId: b543e64d-1e13-423a-9d81-4eae7b0e1959 + Vd2IAProfile-Request: + value: + type: IA_VC + bandwidth: 50 + name: Network Device to IA SP + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: CLOUD + id: 4 + zSide: + accessPoint: + type: SP + profile: + type: IA_PROFILE + uuid: 32d81829-0bf8-45d5-84e2-7289a553dbb6 + location: + metroCode: SV + order: + purchaseOrderNumber: 1-323292 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + ConnectionExample: + value: + href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection-3 + bandwidth: 1000 + direction: OUTGOING + isRemote: true + state: ACTIVE + redundancy: + group: e04db764-f865-470b-8394-d2efdd651577 + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + location: + metroHref: https://api.equinix.com/fabric/v4/metros/MX + metroCode: MX + operation: + providerStatus: AVAILABLE + equinixStatus: PROVISIONED + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + COLO2GoogleSPwithDot1q-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/f662d4c4-fcd8-40ba-b95b-64fc7e0a61fb + uuid: f662d4c4-fcd8-40ba-b95b-64fc7e0a61fb + name: My-Layer2-Connection-3 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: po1234 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T14:25:30.509Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T14:25:30.509Z + bandwidth: 50 + redundancy: + group: 2673c07d-9bd3-43c2-9827-91e940d01a54 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: DA + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/33353aa1-18f2-4b32-94d6-59a12500f7e2 + uuid: 33353aa1-18f2-4b32-94d6-59a12500f7e2 + name: 1-DA1-port + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/bd4570e2-d792-4a00-87f5-3bde040cdcd7 + type: L2_PROFILE + name: Google Cloud Partner Interconnect Zone 1 + uuid: bd4570e2-d792-4a00-87f5-3bde040cdcd7 + sellerRegion: us-west2 + authenticationKey: xx-xxx-xx-xxxxx/us-west2/1 + COLO2AlibabaSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/2c7bb68e-f560-41ac-9950-e62c87be191e + uuid: 2c7bb68e-f560-41ac-9950-e62c87be191e + name: vd2alibaba-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-05-02T20:07:38.626Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-05-02T20:07:38.626Z + bandwidth: 50 + redundancy: + group: 6aafb605-f3e4-4380-a9c0-1eddf829bca0 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/b54d71a6-aecb-40cc-b458-8a4103f5cdba + uuid: b54d71a6-aecb-40cc-b458-8a4103f5cdba + name: 641728-SV5-1 + linkProtocol: + type: DOT1Q + vlanTag: 1018 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/4c4b8edf-873b-4c6c-805a-edb2c335bd6c + type: L2_PROFILE + name: Alibaba Cloud Express Connect + uuid: 4c4b8edf-873b-4c6c-805a-edb2c335bd6c + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxxx + COLO2OracleSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/6c157170-f84d-424a-9396-b5d6ee723296 + uuid: 6c157170-f84d-424a-9396-b5d6ee723296 + name: vd2oracle-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 1G + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-05-02T20:25:09.841Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-05-02T20:25:09.841Z + bandwidth: 1000 + redundancy: + group: e8400059-34e1-47f1-9914-cb5907ee7913 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/b54d71a6-aecb-40cc-b458-8a4103f5cdba + uuid: b54d71a6-aecb-40cc-b458-8a4103f5cdba + name: 641728-SV5-1 + linkProtocol: + type: DOT1Q + vlanTag: 1021 + zSide: + accessPoint: + location: + metroCode: DC + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8 + type: L2_PROFILE + name: Oracle Cloud Infrastructure FastConnect + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + sellerRegion: us-ashburn-1 + authenticationKey: ocid1.virtualcircuit.oc1.iad-xxx-xxxx + Vd2Sp-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to SP + bandwidth: 50 + state: ACTIVE + account: + accountNumber: 201246 + orgId: 92610 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: NETWORK + id: 2 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/95542b34-cf1c-41aa-89f7-590946f9df53 + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + type: L2_PROFILE + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2022-10-05T19:37:12.748Z + Vd2ServiceToken_Response: + value: + href: http://api.corp.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + type: EVPL_VC + uuid: ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + name: Test ST + state: ACTIVE + account: + accountNumber: 270235 + orgId: 92794 + globalOrgId: 0016u000003JZ55AAG + bandwidth: 50 + redundancy: + group: b64dad2a-2763-4084-bc50-b36ef4f67137 + priority: PRIMARY + isRemote: true + direction: INTERNAL + aSide: + accessPoint: + interface: + uuid: 11fd6067-149f-4142-a5b4-54a8dd6f53fe + id: 6 + type: CLOUD + type: VD + account: + accountNumber: 270217 + organizationName: test + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + region: AMER + metroName: Ashburn + metroCode: DC + virtualDevice: + href: https://api.equinix.com/ne/v1/devices/3539f96c-7f67-4696-90f3-7b6d2fdcde5f + uuid: 3539f96c-7f67-4696-90f3-7b6d2fdcde5f + name: testing1234 + type: EDGE + zSide: + serviceToken: + uuid: e05f4f23-d098-4d7c-a9ca-c2897b465107 + account: + orgId: 22222 + accessPoint: + type: COLO + account: + accountNumber: 22222 + organizationName: xxxxx + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + region: AMER + metroName: Ashburn + metroCode: DC + port: + href: http://api.corp.equinix.com/fabric/v4/ports/c791f8cb-59d0-9d00-8ce0-306a5c00a4ee + uuid: c791f8cb-59d0-9d00-8ce0-306a5c00a4ee + name: testNEuser2-DC6-NL-Dot1q-STD-SEC-10G-JN-216 + linkProtocol: + type: DOT1Q + vlanTag: 553 + changeLog: + createdBy: test + createdDateTime: 2022-10-05T19:37:12.748Z + updatedBy: test + updatedDateTime: 2022-10-05T19:37:12.748Z + operation: + providerStatus: AVAILABLE + equinixStatus: PROVISIONED + notifications: + - type: ALL + emails: + - test@equinix.com + Vd2Colo-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to COLO + bandwidth: 50 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + accountNumber: 201246 + orgId: 92610 + changeLog: + createdDateTime: 2021-10-27 16:25:37.229Z + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: NETWORK + id: 4 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + Vd2Colo-VlanTagResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to COLO + bandwidth: 50 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + account: + accountNumber: 201246 + orgId: 92610 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2021-10-27 16:25:37.229 + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f88 + type: NETWORK + id: 2 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + Vd2ColoUntagged-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + name: vd to SP + bandwidth: 50 + redundancy: + group: ac61e576-2830-46aa-85e6-5ae7cd49610c + priority: PRIMARY + order: + purchaseOrderNumber: 1-323292 + billingTier: Up to 50 MB + account: + accountNumber: 201246 + orgId: 92610 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2021-10-27 16:25:37.229Z + aSide: + accessPoint: + virtualDevice: + type: EDGE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: NETWORK + id: 4 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SG + metroCode: SG + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + Fcr2Sp-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1 + type: IP_VC + uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1 + name: GP_FG2GCP_001 + bandwidth: 50 + redundancy: + group: 4f786b3f-27d4-48e0-8571-423d085826c1 + priority: PRIMARY + order: + billingTier: Up to 50 MB + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + href: https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0 + uuid: 56d267f3-a566-47a8-8cf9-40e6cc925bf0 + name: My-FG-1 + zSide: + accessPoint: + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/c7922adf-34b5-4d4e-a87c-cae8c899ef90 + uuid: c7922adf-34b5-4d4e-a87c-cae8c899ef90 + name: Google Cloud Partner Interconnect Zone 2 + type: L2_PROFILE + authenticationKey: xx-xxx-xx-xxxxx/xxx/x + sellerRegion: us-west1 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + operation: + equinixStatus: PROVISIONING + providerStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + changeLog: + createdBy: test + createdByFullName: test + createdByEmail: test@equinix.com + createdDateTime: 2022-05-12T17:53:45.401Z + Fcr2Colo-ResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1 + type: IP_VC + uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1 + name: GP_FG2COLO_001 + bandwidth: 50 + redundancy: + group: 4f786b3f-27d4-48e0-8571-423d085826c1 + priority: PRIMARY + order: + billingTier: Up to 50 MB + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + href: https://api.equinix.com/fabric/v4/routers/56d267f3-a566-47a8-8cf9-40e6cc925bf0 + uuid: 56d267f3-a566-47a8-8cf9-40e6cc925bf0 + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + operation: + equinixStatus: PROVISIONING + providerStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + changeLog: + createdBy: test + createdByFullName: test + createdByEmail: test@equinix.com + createdDateTime: 2022-05-12T17:53:45.401Z + Fcr2IpWan-response: + value: + href: https://api.equinix.com/fabric/v4/connections/0ed42ea7-2df8-470d-ad59-e432d768b4f1 + type: IPWAN_VC + uuid: 0ed42ea7-2df8-470d-ad59-e432d768b4f1 + name: MY-IPWAN-CONNECTION-1 + bandwidth: 50 + redundancy: + group: 4f786b3f-27d4-48e0-8571-423d085826c1 + priority: PRIMARY + order: + billingTier: Up to 50 MB + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + href: https://api.equinix.com/fabric/v4/routers/66a21614-1c4a-11ec-9621-0242ac130002 + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + name: My-FG + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + name: My-IPWAN + platformUuid: be2c3921-602a-444e-86ef-92cf749c7647 + state: ACTIVE + type: IPWAN + scope: REGIONAL + location: + region: AMER + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + changeLog: + createdBy: test + createdByFullName: test + createdByEmail: test@equinix.com + createdDateTime: 2022-05-12T17:53:45.401Z + AsideServiceToken2PortResponseWithDot1q: + value: + href: http://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: EVPL_VC + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: a-token qinq-dot1q + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + account: + accountNumber: 201246 + orgId: 92610 + globalOrgId: 0017i000011X250AAC + changeLog: + createdBy: testuser + createdDateTime: 2022-05-16T07:50:49.749Z + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: PRIMARY + isRemote: true + direction: OUTGOING + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + accessPoint: + location: + metroHref: http://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + port: + href: http://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-2 + linkProtocol: + type: DOT1Q + vlanTag: 1231 + account: + accountNumber: 201246 + organizationName: testOrganization + zSide: + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/LD + region: EMEA + metroName: London + metroCode: LD + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-1 + linkProtocol: + type: DOT1Q + vlanTag: 1321 + account: + accountNumber: 201246 + organizationName: xxxxx + order: + purchaseOrderNumber: "1122334" + billingTier: Up to 50 MB + AsideServiceToken2PortResponseWithQinq: + value: + href: https://api.equinix.com/fabric/v4/connections/a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: EVPL_VC + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: a-token qinq-dot1q + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + notifications: + - type: ALL + emails: + - test@equinix.com + account: + accountNumber: 201246 + orgId: 92610 + globalOrgId: 0017i000011X250AAC + changeLog: + createdBy: testuser + createdDateTime: 2022-05-16T07:50:49.749Z + bandwidth: 50 + redundancy: + group: a00cef6f-8e35-4794-9ff9-665e084e4e6d + priority: PRIMARY + isRemote: true + direction: OUTGOING + aSide: + serviceToken: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + accessPoint: + location: + metroHref: http://api.equinix.com/fabric/v4/metros/SV + region: AMER + metroName: Silicon Valley + metroCode: SV + port: + href: http://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-2 + linkProtocol: + type: QINQ + vlanSTag: 1231 + vlanCTag: 2233 + account: + accountNumber: 201246 + organizationName: xxxxx + zSide: + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/LD + region: EMEA + metroName: London + metroCode: LD + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + name: test-port-name-1 + linkProtocol: + type: DOT1Q + vlanTag: 1321 + account: + accountNumber: 201246 + organizationName: xxxxx + order: + purchaseOrderNumber: "1122334" + billingTier: Up to 50 MB + Metal2Sp-Aws-Response: + value: + href: https://api.equinix.com/fabric/v4/connections/f37e40c5-2802-4df7-9732-839a8a5868ce + type: EVPL_VC + uuid: f37e40c5-2802-4df7-9732-839a8a5868ce + name: My-Metal-sp-connection + bandwidth: 1000 + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + href: https://api.equinix.com/metal/v1/virtual-networks/a867f685-41b0-1b07-6de0-320a5c00abd + uuid: a867f685-41b0-1b07-6de0-320a5c00abd + interface: + projectId: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + authenticationKey: xxxxxxxxx + sellerRegion: us-west-1 + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: 567 + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + account: + href: https://api.equinix.com/accountService/v1/accounts/123213 + accountNumber: 123213 + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + Metal2Sp-Azure-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/d3b69c6b-3b23-4ac0-a1bb-8db16460714d + uuid: d3b69c6b-3b23-4ac0-a1bb-8db16460714d + name: Metal2Azure Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - eqxfabricamcrh@gmail.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@gmail.com + createdDateTime: 2024-03-21T20:14:04.072Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@gmail.com + updatedDateTime: 2024-03-21T20:14:04.072Z + bandwidth: 50 + redundancy: + group: 3cbd354d-d147-4552-bfd0-78c559b4cc91 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: c652cef9-4e52-4165-b997-d0f52b5a18dd + interconnection: + uuid: a00f1a2a-e50e-4019-ba86-0768dac8396c + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/a1390b22-bbe0-4e93-ad37-85beef9d254d + type: L2_PROFILE + name: Azure ExpressRoute + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + authenticationKey: xxxxxxxxx + Metal2Sp-GCP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/d3b69c6b-3b23-4ac0-a1bb-8db16460714d + uuid: d3b69c6b-3b23-4ac0-a1bb-8db16460714d + name: Metal2GCP Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - eqxfabricamcrh@gmail.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@gmail.com + createdDateTime: 2024-03-21T20:14:04.072Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@gmail.com + updatedDateTime: 2024-03-21T20:14:04.072Z + bandwidth: 50 + redundancy: + group: 3cbd354d-d147-4552-bfd0-78c559b4cc91 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: c652cef9-4e52-4165-b997-d0f52b5a18dd + interconnection: + uuid: a00f1a2a-e50e-4019-ba86-0768dac8396c + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/063f4b0f-2d5b-4db7-95da-d9eddfc92602 + type: L2_PROFILE + name: GCP Service Profile + uuid: 063f4b0f-2d5b-4db7-95da-d9eddfc92602 + authenticationKey: xxxxxxxxx + Metal2Sp-Oracle-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/7a21d5d8-f153-45f8-ad76-f92babf3f103 + uuid: 7a21d5d8-f153-45f8-ad76-f92babf3f103 + name: Metal2Oracle-Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50Mb + notifications: + - type: ALL + emails: + - test@gmail.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@gmail.com + createdDateTime: 2024-03-19T23:09:15.547Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@gmail.com + updatedDateTime: 2024-03-19T23:09:15.547Z + bandwidth: 50 + redundancy: + group: 9674d5cf-03a4-4129-933f-60d21e0f3ddb + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: d357394a-3453-415b-8bf3-4ea95b3b13fd + interconnection: + uuid: 7fcf077d-3383-4e22-9173-7b415fdfd1bd + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8 + type: L2_PROFILE + name: Oracle Cloud Infrastructure FastConnect + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + sellerRegion: us-sanjose-1 + authenticationKey: xxxxxxxxx + Metal2Sp-IBM-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/f0e56501-d92f-4ca3-b047-f95628d4a32a + uuid: f0e56501-d92f-4ca3-b047-f95628d4a32a + name: Metal2IBM-Connection + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - dragons-qa3@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-06T17:20:41.574Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-06T17:20:41.574Z + bandwidth: 50 + redundancy: + group: edf883ed-3ea0-4adf-b58c-4ea163c612d5 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: http://qa3api.corp.equinix.com/fabric/v4/serviceProfiles/317dcd1c-83ba-4d7c-994a-3e7ddb875026 + type: L2_PROFILE + name: IBM Cloud Direct Link 2 + uuid: 317dcd1c-83ba-4d7c-994a-3e7ddb875026 + sellerRegion: San Jose 2 + authenticationKey: xxxxxxxxx + Metal2Port-Dot1q-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/02b7b7d4-1726-4451-9598-e28091c096cd + uuid: 02b7b7d4-1726-4451-9598-e28091c096cd + name: Metal2Port-dot1q + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-20T00:39:07.648Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-20T00:39:07.648Z + bandwidth: 50 + redundancy: + group: b76b3167-ae8e-42c4-9571-b659f9779897 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: http://qa3api.corp.equinix.com/fabric/v4/ports/6c73d02c-87e1-4642-8e18-01eb4b87e243 + uuid: 6c73d02c-87e1-4642-8e18-01eb4b87e243 + name: 290061-SV1-CX-SEC-01 + linkProtocol: + type: DOT1Q + vlanTag: 1387 + Metal2Port-Qinq-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/d87489aa-c32d-4756-a81a-6f557afb871d + uuid: d87489aa-c32d-4756-a81a-6f557afb871d + name: Metal2Port-qinq + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-21T23:44:22.347Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-21T23:44:22.347Z + bandwidth: 50 + redundancy: + group: d3cf59c0-33d7-4b9d-94c6-e60b27c363d3 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: http://qa3api.corp.equinix.com/fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d + uuid: 4ff4047c-7217-4b79-9943-c2c4a2f7324d + name: 290061-SV1-CX-PRI-02 + linkProtocol: + type: QINQ + vlanSTag: 134 + vlanCTag: 439 + Metal2ServiceToken-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/f712745e-ccf9-4a0d-9e4d-83c1bb5b9028 + uuid: f712745e-ccf9-4a0d-9e4d-83c1bb5b9028 + name: Metal2ServiceToken + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-20T20:12:08.595Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-20T20:12:08.595Z + bandwidth: 50 + redundancy: + group: fc504dcf-8697-4860-80cd-6a7afaa52586 + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + serviceToken: + href: http://qa3api.corp.equinix.com/fabric/v4/serviceTokens/bc1383be-579a-4d75-ae19-b0d487bbff90 + uuid: bc1383be-579a-4d75-ae19-b0d487bbff90 + project: + projectId: "377533000114703" + accessPoint: + location: + metroCode: SV + port: + type: XF_PORT + href: http://qa3api.corp.equinix.com/fabric/v4/ports/6c73d02c-87e1-4642-8e18-01eb4b87e243 + uuid: 6c73d02c-87e1-4642-8e18-01eb4b87e243 + name: 290061-SV1-CX-SEC-01 + linkProtocol: + type: DOT1Q + vlanTag: 4087 + Metal2Sp-Generic-Response: + value: + type: EVPL_VC + href: http://qa3api.corp.equinix.com/fabric/v4/connections/1a9ffa8f-d4d4-44ab-9733-362c9a36ec94 + uuid: 1a9ffa8f-d4d4-44ab-9733-362c9a36ec94 + name: Metal2Generic + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PENDING_APPROVAL + order: + billingTier: Up to 1G + notifications: + - type: ALL + emails: + - test@test.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-03-22T00:42:35.386Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-03-22T00:42:35.386Z + bandwidth: 1000 + redundancy: + group: dd22cd15-4d09-45b3-9523-37daf075a27d + priority: PRIMARY + aSide: + accessPoint: + type: METAL_NETWORK + virtualNetwork: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + interconnection: + uuid: 497f6eca-6276-4993-bfeb-53cbbbba6f08 + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: http://qa3api.corp.equinix.com/fabric/v4/serviceProfiles/f1a247aa-8f86-4a89-88c2-72497686cd0d + type: L2_PROFILE + name: Generic Service Profile + uuid: f1a247aa-8f86-4a89-88c2-72497686cd0d + COLO2NETWORKwithDot1q-Response: + value: + type: EVPLAN_VC + href: https://api.equinix.com/fabric/v4/connections/f3dd7395-7196-45f4-9b6f-54094aa75f53 + uuid: f3dd7395-7196-45f4-9b6f-54094aa75f53 + name: colo2network-evplan-vc + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-23T02:51:07.675Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-23T02:51:07.675Z + bandwidth: 50 + redundancy: + group: ecebee55-975b-4017-857c-74617f821b87 + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: DA + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/9127bb72-5f4f-4517-be74-3af7ce612687 + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + name: 1-DA1-port + linkProtocol: + type: DOT1Q + vlanTag: 307 + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + name: EVPLAN-GLOBAL + platformUuid: afe28606-8021-4161-802c-b80d4bc22f20 + state: ACTIVE + type: EVPLAN + scope: GLOBAL + location: null + COLO2NETWORKwithEPL-Response: + value: + type: EPLAN_VC + href: https://api.equinix.com/fabric/v4/connections/cce170c5-a496-4928-8426-507e00818887 + uuid: cce170c5-a496-4928-8426-507e00818887 + name: colo2network-eplan-vc + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@test.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-23T03:07:17.587Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-23T03:07:17.587Z + bandwidth: 50 + redundancy: + group: dbab0e00-db97-4abf-aebe-76c7a40a371e + priority: PRIMARY + aSide: + accessPoint: + location: + metroCode: SP + port: + type: XF_PORT + href: https://api.equinix.com/fabric/v4/ports/9127bb72-5f4f-4517-be74-3af7ce612687 + uuid: 9127bb72-5f4f-4517-be74-3af7ce612687 + name: 505783-port + linkProtocol: + type: UNTAGGED + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + uuid: 25f8884e-85e3-4eaa-8ea9-a7ad2ca5b3c2 + name: EPLAN-GLOBAL + platformUuid: 8abb8305-258b-4690-9b49-714962591add + state: ACTIVE + type: EPLAN + scope: GLOBAL + location: null + Vd2IAProfile-Response: + value: + type: IA_VC + href: https://uatapi.npclouda.equinix.com/fabric/v4/connections/ce42ca81-538d-4f38-b020-d45fb48d20c7 + uuid: ce42ca81-538d-4f38-b020-d45fb48d20c7 + name: vd2eia-connection-1 + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-30T20:19:44.279Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-30T20:19:44.279Z + bandwidth: 50 + redundancy: + group: 90720112-3f61-4b74-b854-b948dabd05ca + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 5c226d15-4815-4a85-a83a-6dea1ab220d5 + id: 16 + type: CLOUD + location: + metroCode: SY + virtualDevice: + uuid: d127592c-9094-43c0-9367-27596a231867 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SY + profile: + href: https://uatapi.npclouda.equinix.com/fabric/v4/serviceProfiles/32d81829-0bf8-45d5-84e2-7289a553dbb6 + type: IA_PROFILE + name: Equinix Internet Access + 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 + uuid: e1f165fd-29bb-4c15-8ec7-56242677e6fc + name: vd2network-connection + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-23T02:12:20.334Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-23T02:12:20.334Z + bandwidth: 50 + redundancy: + group: daaaa2be-01ff-4009-9a97-da77562041db + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: a4c60de7-09b2-4237-b831-4849d7dd3d92 + id: 5 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e99ec19c-0939-4c47-bfc1-ff94f99ccc75 + type: EDGE + zSide: + accessPoint: + network: + href: https://api.equinix.com/fabric/v4/networks/05eeb1d2-5b82-4c9b-9eb9-496085ce8bb2 + uuid: 05eeb1d2-5b82-4c9b-9eb9-496085ce8bb2 + name: EVPLAN-GLOBAL-1 + platformUuid: afe28606-8021-4161-802c-b80d4bc22f20 + state: ACTIVE + type: EVPLAN + scope: GLOBAL + location: null + Vd2AwsSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/f0a954e7-bdc5-4727-90cc-869f990e289f + uuid: f0a954e7-bdc5-4727-90cc-869f990e289f + name: vd2aws-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-27T00:32:21.879Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-27T00:32:21.879Z + bandwidth: 50 + redundancy: + group: 1dfd9c4b-58c6-4d96-aebf-eb32a09f031a + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 1b046630-8572-4975-abd0-82c31adf6ec1 + id: 4 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/69ee618d-be52-468d-bc99-00566f2dd2b9 + type: L2_PROFILE + name: AWS Direct Connect + uuid: 69ee618d-be52-468d-bc99-00566f2dd2b9 + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxx + Vd2AzureSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/3da14bba-d81c-4497-93c3-3f4a3cb0bc40 + uuid: 3da14bba-d81c-4497-93c3-3f4a3cb0bc40 + name: vd2azure-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 200 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T20:30:24.632Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T20:30:24.632Z + bandwidth: 100 + redundancy: + group: 6b869af5-3f89-4329-bb41-ec6f6b053cc4 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 237869e8-4dbd-418f-acac-59ec1ec3bc31 + id: 9 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/a1390b22-bbe0-4e93-ad37-85beef9d254d + type: L2_PROFILE + name: Azure ExpressRoute + uuid: a1390b22-bbe0-4e93-ad37-85beef9d254d + authenticationKey: xxxx-xxx-xxxx + Vd2OracleSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d + uuid: 53c89f1a-0be7-44a1-9c03-28059632a72d + name: vd2oracle-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 1G + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T20:40:40.676Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T20:40:40.677Z + bandwidth: 1000 + redundancy: + group: 43009a55-87ee-4dff-8ae4-70ccb7c3d4e9 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: ca838fd7-74cc-4786-94f4-69405671d0e4 + id: 5 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: DC + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/60ef0382-cdaa-44e7-bd36-b803731816b8 + type: L2_PROFILE + name: Oracle Cloud Infrastructure FastConnect + uuid: 60ef0382-cdaa-44e7-bd36-b803731816b8 + sellerRegion: us-ashburn-1 + authenticationKey: ocid1.virtualcircuit.oc1 + Vd2AlibabaSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/66ed4e8a-584c-4027-9788-748fecb5ce35 + uuid: 66ed4e8a-584c-4027-9788-748fecb5ce35 + name: vd2alibaba-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinix.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinix.com + createdDateTime: 2024-04-25T20:43:43.199Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinix.com + updatedDateTime: 2024-04-25T20:43:43.199Z + bandwidth: 50 + redundancy: + group: 160e06b5-cd42-4c2c-b674-6dcda54da4d8 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 9a76f1c3-948a-4004-8185-d6b49969aefc + id: 6 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e16136fd-05ef-49dd-ab98-9f8e619619e9 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/4c4b8edf-873b-4c6c-805a-edb2c335bd6c + type: L2_PROFILE + name: Alibaba Cloud Express Connect + uuid: 4c4b8edf-873b-4c6c-805a-edb2c335bd6c + sellerRegion: us-west-1 + authenticationKey: xxxx-xxx-xxxx + Vd2GoogleSP-Response: + value: + type: EVPL_VC + href: https://api.equinix.com/fabric/v4/connections/50ae793c-b466-4d71-9724-c32b5e402bbe + uuid: 50ae793c-b466-4d71-9724-c32b5e402bbe + name: vd2googleSp-connection-1 + operation: + providerStatus: PROVISIONING + equinixStatus: PROVISIONING + order: + purchaseOrderNumber: 1-1234567890 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - fabric@equinx.com + changeLog: + createdBy: fabric + createdByFullName: fabric + createdByEmail: fabric@equinx.com + createdDateTime: 2024-04-25T14:06:48.933Z + updatedBy: fabric + updatedByFullName: fabric + updatedByEmail: fabric@equinx.com + updatedDateTime: 2024-04-25T14:06:48.933Z + bandwidth: 50 + redundancy: + group: bd03b85b-18c9-4a80-b589-727d232077d2 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 3520bc9a-d7e6-440b-9196-656beb54b300 + id: 7 + type: CLOUD + location: + metroCode: DC + virtualDevice: + uuid: e99ec19c-0939-4c47-bfc1-ff94f99ccc75 + type: EDGE + zSide: + accessPoint: + location: + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/bd4570e2-d792-4a00-87f5-3bde040cdcd7 + type: L2_PROFILE + name: Google Cloud Partner Interconnect Zone 1 + uuid: bd4570e2-d792-4a00-87f5-3bde040cdcd7 + sellerRegion: us-west2 + authenticationKey: xxxx-xxxx/us-west2/1 + createBulkGeneric: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + createBulkNonGeneric: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: COLO + port: + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Sp-Redundant: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 3 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 5 + zSide: + accessPoint: + type: SP + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2Colo-Redundant: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 3 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 5 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ColoUntagged-Redundant: + value: + data: + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 3 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + - type: EVPL_VC + name: Conn-1 + order: + purchaseOrderNumber: 1-129105284100 + bandwidth: 100 + redundancy: + group: j167f685-41b0-1b07-6de0-320a5c00abie + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + id: 5 + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + Vd2ServiceToken-Redundant: + value: + data: + - type: EVPL_VC + name: VD2ST-Conn-1 + bandwidth: 100 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a867f685-41b0-1b07-6de0-320a5c00abdd + zSide: + serviceToken: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + notifications: + - type: ALL + emails: + - test@equinix.com + - type: EVPL_VC + name: VD2ST-Conn-2 + bandwidth: 100 + redundancy: + priority: SECONDARY + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: b967f685-41b0-1b07-6de0-320a5c00abde + zSide: + serviceToken: + uuid: 10d32a80-0d61-4333-bc03-707b591ae2e6 + notifications: + - type: ALL + emails: + - test@equinix.com + genericBulkCreateResponse: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + nonGenericCreateResponse: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + region: us-west-1 + authenticationKey: xx-xx-xx + peeringType: PRIVATE + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + Vd2Sp-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 3 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + account: + accountNumber: 201246 + orgId: 92610 + bandwidth: 100 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 4 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PENDING_APPROVAL + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + Vd2Colo-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 3 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 4 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 300 + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + Vd2ColoUntagged-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 3 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/connections/0f58dd05-f46d-4b1d-a154-2e85c396ea30 + type: EVPL_VC + uuid: 0f58dd05-f46d-4b1d-a154-2e85c396ea30 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB + bandwidth: 100 + account: + accountNumber: 201246 + orgId: 92610 + aSide: + accessPoint: + type: VD + virtualDevice: + type: EDGE + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + interface: + type: CLOUD + uuid: 95542b34-cf1c-41aa-89f7-590946f9df53 + id: 4 + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: UNTAGGED + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: PROVISIONING + providerStatus: NOT_AVAILABLE + changeLog: + createdBy: testBuyer + createdDateTime: 2020-05-21T10:30:00Z + Vd2ServiceToken-Redundant-Response: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + type: EVPL_VC + uuid: ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 + name: VD2ST-Conn-1 + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + bandwidth: 50 + redundancy: + group: 1ba79cfc-e123-4fda-a3ff-f6b460d90299 + priority: PRIMARY + aSide: + accessPoint: + interface: + uuid: 17060c65-5556-417d-9919-3d9ac59c01b9 + id: 5 + type: CLOUD + location: + metroCode: DC + linkProtocol: + type: DOT1Q + vlanTag: 18293 + virtualDevice: + uuid: a867f685-41b0-1b07-6de0-320a5c00abdd + type: EDGE + zSide: + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/20d32a80-0d61-4333-bc03-707b591ae2f5 + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + metroCode: DC + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + name: testBuyer-DC5-L-Dot1q-STD-PRI-10G-JN-161 + linkProtocol: + type: DOT1Q + vlanTag: 992 + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: test + createdByFullName: test test + createdByEmail: test@equinix.com + createdDateTime: 2023-03-01T22:57:15.874Z + updatedBy: test + updatedByFullName: test test + updatedByEmail: test@equinix.com + updatedDateTime: 2023-03-01T22:57:15.874Z + - href: https://api.equinix.com/fabric/v4/connections/d27746b9-6c1e-95cb-b0ee-6c2fdb4990ba + type: EVPL_VC + uuid: d27746b9-6c1e-95cb-b0ee-6c2fdb4990ba + name: VD2ST-Conn-2 + state: ACTIVE + operation: + providerStatus: NOT_AVAILABLE + equinixStatus: PROVISIONING + bandwidth: 50 + redundancy: + group: 1ba79cfc-e123-4fda-a3ff-f6b460d90299 + priority: SECONDARY + aSide: + accessPoint: + interface: + uuid: 1e4cec46-ff5f-4f2a-8f3b-29225600040f + id: 4 + type: CLOUD + location: + metroCode: DC + linkProtocol: + type: DOT1Q + vlanTag: 18303 + virtualDevice: + uuid: b967f685-41b0-1b07-6de0-320a5c00abde + type: EDGE + zSide: + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/10d32a80-0d61-4333-bc03-707b591ae2e6 + uuid: 10d32a80-0d61-4333-bc03-707b591ae2e6 + accessPoint: + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + metroCode: DC + port: + href: https://api.equinix.com/fabric/v4/ports/d791f8cb-59c8-9c80-8ce0-306a5c00e3ae + type: XF_PORT + uuid: d791f8cb-59c8-9c80-8ce0-306a5c00e3ae + name: testBuyer-DC6-NL-Dot1q-STD-SEC-10G-JN-208 + linkProtocol: + type: DOT1Q + vlanTag: 993 + order: + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - test@equinix.com + changeLog: + createdBy: test + createdByFullName: test test + createdByEmail: test@equinix.com + createdDateTime: 2023-03-01T22:57:15.918Z + updatedBy: test + updatedByFullName: test test + updatedByEmail: test@equinix.com + updatedDateTime: 2023-03-01T22:57:15.918Z + ConnectionBulkMigrationRequest: + value: + - op: replace + path: /aSide/accessPoint/port/uuid + value: c791f8cb-594a-94a0-8ce0-306a5c00a4ee + ConnectionBulkMigrationResponse: + value: + data: + - href: https://api.equinix.com/fabric/v4/connections/347832b4-61f5-4f9e-b5f3-e57dcbb8e95b + uuid: 347832b4-61f5-4f9e-b5f3-e57dcbb8e95b + type: EVPL_VC + name: aSide_vcBulk_p2p_04 + bandwidth: 5 + redundancy: + group: 3491b0b6-811b-4e33-a4f3-494f1b91f27d + priority: PRIMARY + order: + purchaseOrderNumber: PO1234567 + billingTier: Up to 50 MB + notifications: + - type: ALL + emails: + - testBuyer@equinix.com + aSide: + accessPoint: + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-594a-94a0-8ce0-306a5c00a4ee + uuid: c791f8cb-594a-94a0-8ce0-306a5c00a4ee + name: testBuyer-SV5-L-Dot1q-STD-PRI-10G-NK-82 + type: XF_PORT + linkProtocol: + type: DOT1Q + vlanTag: 2 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-599c-99c0-8ce0-306a5c00a4ee + uuid: c791f8cb-599c-99c0-8ce0-306a5c00a4ee + name: testBuyer-DC5-NL-Dot1q-STD-PRI-10G-JN-164 + type: XF_PORT + linkProtocol: + type: DOT1Q + vlanTag: 1117 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DC + metroCode: DC + operation: + equinixStatus: PROVISIONED + providerStatus: AVAILABLE + changeLog: + createdBy: testBuyer + createdDateTime: 2021-12-02 07:17:41.663 + createdByFullName: testBuyer testBuyer + createdByEmail: testBuyer@equinix.com + updatedBy: testBuyer + updatedDateTime: 2021-12-02 07:17:41.663 + updatedByFullName: testBuyer testBuyer + updatedByEmail: testBuyer@equinix.com + change: + uuid: 2f395804-c197-4796-b7b3-359d5fa5d853 + type: CONNECTION_UPDATE + status: APPROVED + createdDateTime: 2021-12-06 22:11:18.616 + data: + op: replace + path: /aSide/accessPoint/port/uuid + value: c791f8cb-58fb-8fb0-8ce0-306a5c00a4ee + NonGenericConnectionResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/462ad0bb-7fe2-41b1-8d1a-c62494e0c7e3 + type: EVPL_VC + uuid: 462ad0bb-7fe2-41b1-8d1a-c62494e0c7e3 + name: E2E-CON-280122031843987 + state: DEPROVISIONED + operation: + providerStatus: FAILED + equinixStatus: DEPROVISIONED + order: + purchaseOrderNumber: PO608540135268 + notifications: + - type: ALL + emails: + - fake@mail.com + account: + accountNumber: 270001 + orgId: 91997 + globalOrgId: 0016u000003JZ4sAAG + changeLog: + createdBy: testBuyer + createdDateTime: 2022-01-28T03:18:48.908Z + bandwidth: 50 + redundancy: + group: 50ba51bb-085d-4084-ac38-c31860ca5f4d + priority: PRIMARY + isRemote: false + direction: OUTGOING + aSide: + accessPoint: + type: COLO + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-594b-94b0-8ce0-306a5c00a4ee + uuid: c791f8cb-594b-94b0-8ce0-306a5c00a4ee + name: testBuyer-SV5-NL-Dot1q-BO-PRI-10G-NK-83 + linkProtocol: + type: DOT1Q + vlanTag: 2628 + zSide: + accessPoint: + type: SP + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/063f4b0f-2d5b-4db7-95da-d9eddfc92602 + type: L2_PROFILE + name: Google Cloud Partner Interconnect Zone 1 + uuid: 063f4b0f-2d5b-4db7-95da-d9eddfc92602 + linkProtocol: + type: DOT1Q + sellerRegion: us-west1 + authenticationKey: xx-xxx-xx-xxxxx/xxx/x + GenericConnectionResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/650fa2db-37fc-4eca-a9ac-1bb33481b03f + type: EVPL_VC + uuid: 650fa2db-37fc-4eca-a9ac-1bb33481b03f + name: E2E-CON-280122023234849 + state: PROVISIONED + operation: + providerStatus: AVAILABLE + equinixStatus: PROVISIONED + order: + purchaseOrderNumber: PO754587184643 + notifications: + - type: ALL + emails: + - fake@mail.com + account: + accountNumber: 270001 + orgId: 91997 + globalOrgId: 0016u000003JZ4sAAG + changeLog: + createdBy: testBuyer + createdDateTime: 2022-01-28T02:32:36.402Z + bandwidth: 50 + redundancy: + group: 4647f20d-6339-4e83-b31e-b35da3060d63 + priority: PRIMARY + isRemote: false + direction: OUTGOING + aSide: + accessPoint: + type: COLO + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DA + metroCode: DA + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-5a41-a410-8ce0-306a5c00a4ee + uuid: c791f8cb-5a41-a410-8ce0-306a5c00a4ee + name: testBuyer-DA1-L-Dot1q-STD-PRI-10G-NK-329 + linkProtocol: + type: DOT1Q + vlanTag: 1043 + zSide: + accessPoint: + type: SP + location: + metroHref: https://api.equinix.com/fabric/v4/metros/DA + metroCode: DA + port: + href: https://api.equinix.com/fabric/v4/ports/c791f8cb-5a49-a490-8ce0-306a5c00a4ee + uuid: c791f8cb-5a49-a490-8ce0-306a5c00a4ee + name: testSeller-DA1-L-Dot1q-STD-PRI-10G-NK-337 + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/32fd70f2-ce6b-4140-9358-561db52f2ea0 + type: L2_PROFILE + name: SP for Local No-Redundant Connection DOT1Q + uuid: 32fd70f2-ce6b-4140-9358-561db52f2ea0 + linkProtocol: + type: DOT1Q + vlanTag: 3322 + 400_Invalid_id: + value: + - errorCode: EQ-3142519 + errorMessage: Connection does not exist or do not belong to user,Please check connection Id + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + ConnectionPutCustomFieldsRequest: + value: + additionalInfo: + - key: Text Custom Field + value: Test Custom Field + - key: Number Custom Field + value: "123" + - key: Optional List Filed + value: Option 1 + - key: Check Box Custom Filed + value: true + zSide: + accessPoint: + type: SP + location: + metroCode: SV + profile: + type: L2_PROFILE + uuid: ab068089-1b76-484e-b0f7-80e13abd6920 + aSide: + accessPoint: + type: COLO + linkProtocol: + type: Dot1q + vlanTag: "23" + location: + metroCode: DA + port: + uuid: c791f8cb-59f1-9f10-8ce0-306a5c00a4ee + bandwidth: 50 + name: CONNECTION_TESTING + notifications: + - type: ALL + emails: + - fusiontestbuyer@equinix.com + type: EVPL_VC + uuid: 92d54857-fe28-4977-8fca-54e7bef67bba + order: + purchaseOrderNumber: POTEST1 + ConnectionDeletionResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection + order: + purchaseOrderNumber: 1-129105284100 + billingTier: Up to 200 MB /*Proposal*/ + bandwidth: 100 + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + type: XF_PORT + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/20d32a80-0d61-4333-bc03-707b591ae2f5 + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + port: + href: https://api.equinix.com/fabric/v4/ports/20d32a80-0d61-4333-bc03-707b591ae2f4 + type: XF_PORT + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanSTag: 1002 + vlanCTag: 1001 + location: + metroHref: https://api.equinix.com/fabric/v4/metros/SV + metroCode: SV + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com + operation: + equinixStatus: DEPROVISIONING + providerStatus: DEPROVISIONING + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + deletedDateTime: 2020-05-21T10:30:00Z + createdBy: 232216 + updatedBy: 344339 + deletedBy: 232216 + 400-delete: + value: + - errorCode: EQ-3142510 + errorMessage: Connection is in transient state + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + 403-delete: + value: + - errorCode: EQ-3142401 + errorMessage: Your account isn't authorized to perform this task. Contact your administrator for assistance. + correlationId: 12312y7127tges + ConnectionUpdateNameRequest: + value: + - op: replace + path: /name + value: Conn-Name-2 + ConnectionUpdateBandwidthRequest: + value: + - op: replace + path: /bandwidth + value: 1000 + ConnectionAddAccessAndSecretKeyAWSRequest: + value: + - op: add + path: "" + value: + additionalInfo: + - key: accessKey + value: nTTgtgoQbTQCRHTbynll + - key: secretKey + value: NwPcpbWgFEPofydsZEQGwjtHqJOYrUmBbrcxtOzP + ConnectionAddRoutingRequest: + value: + - op: add + path: /ipv6 + value: + equinixIfaceIp: 1202:ABCD::/64 + ConnectionMigrationAsideRequest: + value: + - op: replace + path: /aSide/accessPoint/port/uuid + value: 5e7fd31d-f1e8-46fe-b6ad-6f5f2306cfd8 + ConnectionUpdateNotificationEmailRequest: + value: + - op: replace + path: /notifications + value: + - type: ALL + emails: + - testEmail1@equinix.com + - testEmail2@equinix.com + ConnectionMigrationAsideVirtualDeviceRequest: + value: + - op: replace + path: /aSide/accessPoint/virtualDevice/uuid + value: 5e7fd31d-f1e8-46fe-b6ad-6f5f2306cfd8 + ConnectionPatchResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3a58dd05-f46d-4b1d-a154-2e85c396ea62 + type: EVPL_VC + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + name: My-Layer2-Connection-2 + bandwidth: 1000 + direction: OUTGOING + isRemote: true + redundancy: + group: 66c10a60-789e-4b25-b85c-7eb225a4c344 + priority: PRIMARY + aSide: + accessPoint: + type: COLO + port: + href: https://api.equinix.com/fabric/v4/ports/a00cef6f-8e35-4794-9ff9-665e084e4e6d + uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d + linkProtocol: + type: DOT1Q + vlanTag: 1001 + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + type: L2_PROFILE + location: + metroHref: https://api.equinix.com/fabric/v4/metros/MX + metroCode: MX + linkProtocol: + type: DOT1Q + vlanTag: 1001 + operation: + providerStatus: PROVISIONED + equinixStatus: PROVISIONED + change: + uuid: da6a1a0b-0872-4c06-b9d7-5c8ee3056775 + type: CONNECTION_UPDATE + status: APPROVED + createdDateTime: 2021-12-12T06:00:01.183Z + updatedDateTime: 2021-12-12T06:00:09.278916Z + data: + op: replace + path: /aSide/accessPoint/port/uuid + value: c791f8cb-58f9-8f90-8ce0-306a5c00a4ee + changeLog: + createdDateTime: 2020-04-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + account: + accountNumber: 270001 + orgId: 91997 + globalOrgId: 3453453cccc + Connection_Creation_Acceptance: + value: + type: CONNECTION_CREATION_ACCEPTANCE + data: + zSide: + accessPoint: + type: COLO + port: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: QINQ + vlanSTag: 1002 + vlanCTag: 1001 + Connection_Creation_Rejection: + value: + type: CONNECTION_CREATION_REJECTION + description: Invalid connection request + Connection_Update_Acceptance: + value: + type: CONNECTION_UPDATE_ACCEPTANCE + Connection_Update_Rejection: + value: + type: CONNECTION_UPDATE_REJECTION + description: Invalid connection update request + Connection_Deletion_Acceptance: + value: + type: CONNECTION_DELETION_ACCEPTANCE + Connection_Update_Request_VC_Migration: + value: + type: CONNECTION_UPDATE_REQUEST + data: + zSide: + accessPoint: + type: COLO + port: + uuid: c791f8cb-5a47-a470-8ce0-306a5c00a4ee + Connection_Provider_Status_Request: + value: + type: CONNECTION_PROVIDER_STATUS_REQUEST + AcceptZSide_NetworkEdge_Request: + value: + type: CONNECTION_CREATION_ACCEPTANCE + data: + zSide: + accessPoint: + virtualDevice: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + interface: + type: CLOUD + id: 8 + ConnectionActionResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81/actions/37c10edc-ba2e-4240-a850-8a48f9c47d00 + type: CONNECTION_CREATION_ACCEPTANCE + uuid: 3a58dd05-f46d-4b1d-a154-2e85c396ea62 + data: + zSide: + accessPoint: + type: SP + profile: + href: https://api.equinix.com/fabric/v4/serviceProfiles/22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + uuid: 22d4e853-ef33-4ff0-b5b2-a2b1d5dfa50c + type: L2_PROFILE + location: + metroHref: https://api.equinix.com/fabric/v4/metros/MX + metroCode: MX + linkProtocol: + type: DOT1Q + vlanTag: 1001 + changeLog: + createdDateTime: 2020-04-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + RoutingProtocolGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + - href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + 404_invalid_id: + value: + - errorCode: EQ-3041120 + errorMessage: The connection ID was not found or was already deleted. + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + 500_internal_error: + value: + - errorCode: EQ-3041011 + errorMessage: Bad request - Internal Server Error. Please check the request payload and submit again. + details: Please contact support@equinix.com for more info + correlationId: 9048796775044a60-39cb-4ccc-b272-b80f126e5408 + additionalInfo: + - reason: Please contact support@equinix.com for more info + Fcr2ColoCreateDirect: + value: + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + Fcr2ColoCreateBGP: + value: + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 100 + bfd: + enabled: true + interval: 100 + Fcr2GcpCreateDirect: + value: + type: DIRECT + directIpv4: + equinixIfaceIp: 169.254.100.1/30 + Fcr2GcpCreateBGP: + value: + type: BGP + bgpIpv4: + customerPeerIp: 169.254.100.2 + equinixPeerIp: 169.254.100.1 + outboundASPrependCount: 3 + customerAsn: 100 + RoutingProtocolCreateBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + RoutingProtocolCreateDirectResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: PROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_CREATION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + CreateRoutingWithDirectOnly: + value: + data: + - type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + CreateRoutingWithBGPOnly: + value: + data: + - type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + outboundASPrependCount: 3 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: 100 + CreateRoutingWithDirectAndBGP: + value: + data: + - type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + outboundASPrependCount: 3 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: 100 + - type: DIRECT + name: My-Direct-route-1 + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + 400_routing_protocol: + value: + - errorCode: EQ-3041022 + errorMessage: Invalid argument value passed + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + details: There are no available RFC3279 subnets on the same Fabric Cloud Router. + - errorCode: EQ-3041023 + errorMessage: Invalid pagination parameter. + correlationId: test + additionalInfo: + - property: offset + - reason: The offset parameter must be a Nonnegative Integer. + - errorCode: EQ-3041012 + errorMessage: The system is unable to process your request. + details: The routing protocol associated with this Connection is in the transient state. + correlationId: test + additionalInfo: + - reason: Routing protocol creation or deletion is not allowed if the routing protocol associated with connection is in the transient state. + - errorCode: EQ-3041016 + errorMessage: The system is unable to process your request. + details: The BGP routing protocol should be deleted before deleting the DIRECT routing protocol for the same Connection. + correlationId: test + - errorCode: EQ-3041001 + errorMessage: Invalid argument passed. + correlationId: test + - errorCode: EQ-3041002 + errorMessage: Invalid argument value passed. + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - property: type + reason: The type must be one of the following [DIRECT, BGP]. + - errorCode: EQ-3041013 + errorMessage: Required field. + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: $.type + reason: Type is mandatory field. + - errorCode: EQ-3041014 + errorMessage: Json syntax error. Please check the request body. + details: Json syntax error. Please check the request body. + correlationId: test + - errorCode: EQ-3041015 + errorMessage: Invalid request. + details: Value must not be null. + correlationId: test + additionalInfo: + - property: data[0].directIpv6.equinixIfaceIp + UpdateRoutingWithDirectOnly: + value: + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + directIpv6: + equinixIfaceIp: 2001:7a9::34f4:0:f3dd:1/126 + UpdateRoutingWithBGPOnly: + value: + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 192.168.100.1 + outboundASPrependCount: 3 + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + outboundASPrependCount: 3 + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: 100 + RoutingProtocolReplaceBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + RoutingProtocolReplaceDirectResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + RoutingProtocolDeleteDirectResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: DEPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_DELETION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-10-30T07:21:39Z + type: DIRECT + directIpv4: + equinixIfaceIp: 192.168.100.1/30 + RoutingProtocolDeleteBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: DEPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_DELETION + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + customerPeerIp: 10.1.1.3 + enabled: true + outboundASPrependCount: 3 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 10000 + equinixAsn: 10001 + PatchRoutingProtocolEnableIPv4: + value: + - op: replace + path: /bgpIpv4/enabled + value: true + PatchRoutingProtocolEnableIPv6: + value: + - op: replace + path: /bgpIpv6/enabled + value: true + PatchRoutingProtocolDisableIPv4: + value: + - op: replace + path: /bgpIpv4/enabled + value: false + PatchRoutingProtocolDisableIPv6: + value: + - op: replace + path: /bgpIpv6/enabled + value: false + RoutingProtocolEnableBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + enabled: true + customerPeerIp: 10.1.1.3 + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + RoutingProtocolDisableBGPResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4 + uuid: c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + state: REPROVISIONING + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + href: https://api.equinix.com/fabric/v4/connections/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170/routingProtocols/557400f8-d360-11e9-bb65-2a2ae2dbcce4/changes/3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTING_PROTOCOL_UPDATE + changelog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-10-30T07:21:39Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-10-30T07:21:39Z + type: BGP + bgpIpv4: + enabled: false + customerPeerIp: 10.1.1.3 + outboundASPrependCount: 3 + operation: + operationalStatus: UNKNOWN + customerAsn: 10000 + equinixAsn: 10001 + BGPActionsBulkDataResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/835ed234-1dbb-5634-c320-25d0234dd117 + uuid: 835ed234-1dbb-5634-c320-25d0234dd117 + type: CLEAR_BGPIPV6_INBOUND + description: soft clear bgp ipv6 inbound session + state: SUCCEEDED + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:35:00Z + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/4d5ed98a-8dba-4651-a317-8ad0234dd157/actions/995ed98b-1db9-6653-c323-19d0234dd999 + uuid: 995ed98b-1db9-6653-c323-19d0234dd999 + type: CLEAR_BGPIPV4_INBOUND + description: soft clear bgp ipv4 inbound session + state: FAILED + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:20:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:25:00Z + BGPSoftClearInAndOutBoundIPv4: + value: + type: CLEAR_BGPIPV4 + BGPSoftClearInAndOutBoundIPv6: + value: + type: CLEAR_BGPIPV6 + BGPSoftClearInBoundIPv4: + value: + type: CLEAR_BGPIPV4_INBOUND + BGPSoftClearInBoundIPv6: + value: + type: CLEAR_BGPIPV6_INBOUND + BGPHardResetIPv4: + value: + type: RESET_BGPIPV4 + BGPHardResetIPv6: + value: + type: RESET_BGPIPV6 + BGPHardResetIPv4Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: RESET_BGPIPV4 + description: hard reset bgp ipv4 session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPHardResetIPv6Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: RESET_BGPIPV6 + description: hard reset bgp ipv6 session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInAndOutBoundIPv4Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV4 + description: soft clear bgp ipv4 inbound and outbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInAndOutBoundIPv6Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV6 + description: soft clear bgp ipv6 inbound and outbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInBoundIPv4Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV4_INBOUND + description: soft clear bgp ipv4 inbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPSoftClearInBoundIPv6Response: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/123ed98a-92ba-9951-bb17-17d0234dd096 + uuid: 123ed98a-92ba-9951-bb17-17d0234dd096 + type: CLEAR_BGPIPV6_INBOUND + description: soft clear bgp ipv6 inbound session + state: PENDING + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + BGPActionDataResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routingProtocols/3f5ed98a-8dba-4651-a317-8ad0234dd157/actions/4e5ed00a-3dca-5652-b319-aad0234dd934 + uuid: 4e5ed00a-3dca-5652-b319-aad0234dd934 + type: CLEAR_BGPIPV6_INBOUND + description: soft clear bgp ipv6 inbound session + state: SUCCEEDED + changeLog: + createdBy: adminuser + createdByEmail: adminuser@equinix.com + createdByFullName: adminuser adminuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: adminuser + updatedByEmail: adminuser@equinix.com + updatedByFullName: adminuser adminuser + updatedDateTime: 2020-05-21T10:35:00Z + RoutingProtocolGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/connections/2a4fb415-5a7f-436f-bae6-02f5e403deec/routingProtocols/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: ROUTING_PROTOCOL_UPDATE + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + data: + op: replace + path: / + value: + type: BGP + name: My-BGP-route-1 + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 10.1.1.3 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: "100" + RoutingProtocolGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/connections/2a4fb415-5a7f-436f-bae6-02f5e403deec/routingProtocols/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: ROUTING_PROTOCOL_UPDATE + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + data: + op: replace + path: / + value: + type: BGP + name: My-BGP-route-1 + bgpIpv4: + customerPeerIp: 10.1.1.2 + equinixPeerIp: 10.1.1.3 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: "100" + - href: https://api.equinix.com/fabric/v4/connections/2a4fb415-5a7f-436f-bae6-02f5e403deec/routingProtocols/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: ROUTING_PROTOCOL_CREATION + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + data: + op: add + path: / + value: + type: BGP + name: My-BGP-route-1 + bgpIpv4: + customerPeerIp: 10.1.1.3 + equinixPeerIp: 10.1.1.4 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + bgpIpv6: + customerPeerIp: 2001:db8:c59b::1 + equinixPeerIp: 2001:db8:c59b::1 + operation: + operationalStatus: UP + opStatusChangedAt: 2021-10-30T07:21:39Z + customerAsn: 0 + equinixAsn: 0 + bgpAuthKey: string + bfd: + enabled: true + interval: "100" + ConnectionSearchDirection: + value: + filter: + and: + - property: /direction + operator: = + values: + - OUTGOING + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchIsremote: + value: + filter: + and: + - property: /isRemote + operator: = + values: + - true + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchName: + value: + filter: + and: + - property: /name + operator: = + values: + - AWS-Dot1Q-AWSRemote + pagination: + limit: 25 + offset: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchUuid: + value: + filter: + and: + - property: /uuid + operator: = + values: + - 3736df8d-a903-42fd-bd06-06c9a76b238e + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchCustorg: + value: + filter: + and: + - property: /account/orgId + operator: = + values: + - 91997 + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchAccountname: + value: + filter: + and: + - property: /aSide/accessPoint/account/accountName + operator: = + values: + - testBuyer-270001 + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchCloudRouteruuid: + value: + filter: + and: + - property: /aSide/accessPoint/router/uuid + operator: = + values: + - 742e5b08-385a-4f50-94b8-08acdf91b7b0 + pagination: + limit: 25 + offset: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchAsidevlanstagctag: + value: + filter: + and: + - property: /aSide/accessPoint/linkProtocol/vlanSTag + operator: = + values: + - "4002" + - property: /aSide/accessPoint/linkProtocol/vlanCTag + operator: = + values: + - "0" + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsidemetrocodemetroname: + value: + filter: + and: + - property: /aSide/accessPoint/location/metroCode + operator: = + values: + - DA + - property: /aSide/accessPoint/location/metroName + operator: = + values: + - Dallas + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideaccesspointname: + value: + filter: + and: + - property: /aSide/accessPoint/port/name + operator: = + values: + - l2-qa-1-DA1-L-Dot1q-STD-SEC-10G-NK-385 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideaccesspointuuid: + value: + filter: + and: + - property: /aSide/accessPoint/port/uuid + operator: = + values: + - c791f8cb-5941-9410-8ce0-306a5c00a4ee + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideaccesspointtype: + value: + filter: + and: + - property: /aSide/accessPoint/type + operator: = + values: + - COLO + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsidevirtualdevicename: + value: + filter: + and: + - property: /aSide/accessPoint/virtualDevice/name + operator: = + values: + - E2E-NE-Device-Aut-170122034210108 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsidevirtualdeviceuuid: + value: + filter: + and: + - property: /aSide/accessPoint/virtualDevice/uuid + operator: = + values: + - c6b96cec-cf70-4700-9c1e-2f73724d2fa5 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchAsideservicetokenuuid: + value: + filter: + and: + - property: /aSide/serviceToken/uuid + operator: = + values: + - 30225621-c1ad-4614-b6a5-d9c70cad61cb + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchChangestatus: + value: + filter: + and: + - property: /change/status + operator: = + values: + - APPROVED + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchUpdatedatetime: + value: + filter: + and: + - property: /changeLog/updatedDateTime + operator: = + values: + - 2021-01-02T00:00:00Z + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchEquinixstatus: + value: + filter: + and: + - property: /operation/equinixStatus + operator: = + values: + - PROVISIONED + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchProviderstatus: + value: + filter: + and: + - property: /operation/providerStatus + operator: = + values: + - AVAILABLE + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchProjectidOPtional-CRH: + value: + filter: + and: + - property: /project/projectId + operator: = + values: + - 30ad25e2-53dc-11ed-bdc3-0242ac120002 + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + ConnectionSearchRedundancygroup: + value: + filter: + and: + - operator: = + property: /redundancy/group + values: + - 3f7ab592-0db3-41b8-bb9a-ecc05d5d5732 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchRedundancypriority: + value: + filter: + and: + - operator: = + property: /redundancy/priority + values: + - PRIMARY + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidevlanstagctag: + value: + filter: + and: + - property: /zSide/accessPoint/linkProtocol/vlanSTag + operator: = + values: + - "4002" + - property: /zSide/accessPoint/linkProtocol/vlanCTag + operator: = + values: + - "0" + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidemetrocodemetroname: + value: + filter: + and: + - property: /zSide/accessPoint/location/metroCode + operator: = + values: + - DA + - property: /zSide/accessPoint/location/metroName + operator: = + values: + - Dallas + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideaccesspointname: + value: + filter: + and: + - property: /zSide/accessPoint/port/name + operator: = + values: + - testGoogle-SV5-NL-Dot1q-STD-SEC-10G-JN-73 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideaccesspointuuid: + value: + filter: + and: + - property: /zSide/accessPoint/port/uuid + operator: = + values: + - c791f8cb-5941-9410-8ce0-306a5c00a4ee + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideaccesspointtype: + value: + filter: + and: + - property: /zSide/accessPoint/type + operator: = + values: + - COLO + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidevirtualdevicename: + value: + filter: + and: + - property: /zSide/accessPoint/virtualDevice/name + operator: = + values: + - E2E-NE-Device-Aut-170122034210108 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsidevirtualdeviceuuid: + value: + filter: + and: + - property: /zSide/accessPoint/virtualDevice/uuid + operator: = + values: + - c6b96cec-cf70-4700-9c1e-2f73724d2fa5 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideservicetokenuuid: + value: + filter: + and: + - property: /zSide/serviceToken/uuid + operator: = + values: + - 019eab69-8293-4abf-ac8c-e6269d5a3e92 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchZsideprofileuuid: + value: + filter: + and: + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - c6b96cec-cf70-4700-9c1e-2f73724d2fa5 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchANDwithNestedOR-LIKE: + value: + filter: + and: + - operator: = + property: /operation/equinixStatus + values: + - PROVISIONED + - PENDING_APPROVAL + - operator: = + property: /operation/providerStatus + values: + - AVAILABLE + - PENDING_APPROVAL + - PROVISIONED + - or: + - operator: LIKE + property: /name + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/account/accountName + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/account/accountName + values: + - AWS-Dot1Q + - operator: LIKE + property: /uuid + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/name + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/linkProtocol/vlanCTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/linkProtocol/vlanSTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/linkProtocol/vlanCTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/linkProtocol/vlanSTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/accessPoint/linkProtocol/vlanCTag + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/accessPoint/authenticationKey + values: + - AWS-Dot1Q + - operator: LIKE + property: /aSide/serviceToken/uuid + values: + - AWS-Dot1Q + - operator: LIKE + property: /zSide/serviceToken/uuid + values: + - AWS-Dot1Q + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + total: 0 + limit: 25 + offset: 0 + ConnectionSearchORwithNestedAND: + value: + filter: + or: + - and: + - operator: = + property: /direction + values: + - INCOMING + - operator: = + property: /change/status + values: + - SUBMITTED_FOR_APPROVAL + - and: + - operator: = + property: /direction + values: + - INCOMING + - operator: = + property: /operation/equinixStatus + values: + - PENDING_APPROVAL + - PENDING_DELETE + - and: + - operator: = + property: /direction + values: + - OUTGOING + - operator: = + property: /operation/providerStatus + values: + - PENDING_APPROVAL + - operator: = + property: /operation/equinixStatus + values: + - PROVISIONED + pagination: + limit: 1000 + offset: 0 + ConnectionSearchANDwithNestedIN: + value: + filter: + and: + - operator: = + property: /type + values: + - EVPL_VC + - operator: = + property: /aSide/accessPoint/type + values: + - COLO + - operator: = + property: /aSide/accessPoint/location/metroCode + values: + - LD + - operator: = + property: /zSide/accessPoint/type + values: + - COLO + - operator: = + property: /zSide/accessPoint/location/metroCode + values: + - DA + - operator: IN + property: /bandwidth + values: + - "50" + - "200" + - "500" + - "1000" + - "2000" + - "5000" + - "10000" + ConnectionSearchANDClause: + value: + filter: + and: + - property: /direction + operator: = + values: + - OUTGOING + - INTERNAL + - property: /aSide/accessPoint/port/uuid + operator: = + values: + - c791f8cb-5941-9410-8ce0-306a5c00a4ee + - property: /operation/equinixStatus + operator: = + values: + - PROVISIONED + - property: /operation/providerStatus + operator: = + values: + - PROVISIONED + - AVAILABLE + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + limit: 25 + offset: 0 + ConnectionSearchANDwithNestedOR: + value: + filter: + and: + - operator: = + property: /operation/equinixStatus + values: + - PROVISIONED + - PENDING_APPROVAL + - operator: = + property: /operation/providerStatus + values: + - AVAILABLE + - PENDING_APPROVAL + - PROVISIONED + - or: + - operator: LIKE + property: /name + values: + - AWS-Dot1Q + - operator: LIKE + property: /uuid + values: + - AWS-Dot1Q + sort: + - direction: DESC + property: /changeLog/updatedDateTime + pagination: + limit: 25 + offset: 0 + VirtualConnectionProductEvplVcTypeFromColoToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "false" + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductEvplVcTypeFromColoToColoByPortUuid: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/port/uuid + operator: = + values: + - b840a1db-54ab-4abf-97e0-328a5c00a874 + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductEvplVcTypeFromColoToSP: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "false" + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductGwVcTypeFromGWToSP: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - IP_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - CLOUD_ROUTER + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - SV + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductGwVcTypeFromGWToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - IP_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - CLOUD_ROUTER + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductGwVcTypeFromVDToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - IP_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - VD + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - SV + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductEvplVcTypeFromVDToColo: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - VD + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - SV + - property: /connection/zSide/accessPoint/type + operator: = + values: + - COLO + VirtualConnectionProductVdChainTypeFromVDToChaingroup: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - VD_CHAIN_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - VD + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/bridge/package/code + operator: = + values: + - REGIONAL + - property: /connection/zSide/accessPoint/type + operator: = + values: + - CHAINGROUP + VirtualConnectionProductOfflineEvplVcTypeFromColoToSp: + value: + filter: + or: + - and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPL_VC + - property: /connection/bandwidth + operator: IN + values: + - "100" + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "false" + - property: /connection/zSide/accessPoint/location/metroCode + operator: = + values: + - CH + - property: /connection/zSide/accessPoint/type + operator: = + values: + - SP + - property: /connection/zSide/accessPoint/profile/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + - and: + - property: /connection/uuid + operator: = + values: + - efeed227-765e-4f74-b14c-0c8a739be23e + VirtualConnectionProductEvpLanVcTypeFromColoToNetwork: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_CONNECTION_PRODUCT + - property: /connection/type + operator: = + values: + - EVPLAN_VC + - property: /connection/aSide/accessPoint/type + operator: = + values: + - COLO + - property: /connection/aSide/accessPoint/location/metroCode + operator: = + values: + - DA + - property: /connection/aSide/accessPoint/port/settings/buyout + operator: = + values: + - "true" + - property: /connection/zSide/accessPoint/type + operator: = + values: + - NETWORK + - property: /connection/zSide/accessPoint/network/scope + operator: = + values: + - REGIONAL + - property: /connection/bandwidth + operator: IN + values: + - "10" + FabricCloudRouterProduct: + value: + filter: + and: + - property: /type + operator: = + values: + - CLOUD_ROUTER_PRODUCT + - property: /router/location/metroCode + operator: = + values: + - CH + - property: /router/package/code + operator: IN + values: + - LAB + - ADVANCED + - STANDARD + - PREMIUM + IpBlockProduct: + value: + filter: + and: + - property: /type + operator: = + values: + - IP_BLOCK_PRODUCT + - property: /ipBlock/type + operator: = + values: + - IPv4 + - property: /ipBlock/prefixLength + operator: = + values: + - "29" + - property: /ipBlock/location/metroCode + operator: IN + values: + - SV + - WA + VirtualPortProduct: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_PORT_PRODUCT + - property: /account/accountNumber + operator: = + values: + - "270001" + - property: /port/location/ibx + operator: = + values: + - DA1 + - property: /port/type + operator: = + values: + - XF_PORT + - property: /port/bandwidth + operator: = + values: + - "1000" + - property: /port/settings/buyout + operator: = + values: + - "false" + - property: /port/serviceType + operator: = + values: + - EPL + - property: /port/connectivitySource/type + operator: = + values: + - COLO + - property: /port/lag/enabled + operator: = + values: + - "false" + VirtualConnection: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: VIRTUAL_CONNECTION_PRODUCT + code: ECX00015.PROD + name: Equinix Fabric Virtual Connection Product + description: Equinix Fabric Virtual Connection + account: + accountNumber: 200001 + charges: + - type: MONTHLY_RECURRING + price: 500 + currency: USD + connection: + type: EVPL_VC + bandwidth: 100 + aSide: + accessPoint: + type: COLO + location: + metroCode: CH + port: + settings: + buyout: false + zSide: + accessPoint: + type: SP + location: + metroCode: CH + profile: + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f2 + IpBlock: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: IP_BLOCK_PRODUCT + code: ECX00005.PROD + name: Equinix Fabric IP Addressing Product + description: Equinix Fabric IP Addressing + charges: + - type: MONTHLY_RECURRING + price: 20 + currency: USD + ipBlock: + type: IPv4 + prefixLength: 29 + location: + metroCode: CH + FabricCloudRouter: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: CLOUD_ROUTER_PRODUCT + code: ECX00014.PROD + name: Equinix Cloud Router Product + description: Equinix Cloud Router + account: + accountNumber: 200001 + charges: + - type: MONTHLY_RECURRING + price: 5000 + currency: USD + router: + package: + code: ADVANCED + location: + metroCode: CH + VirtualPort: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: VIRTUAL_PORT_PRODUCT + code: ECX00001.PROD + name: Equinix Fabric Port Product + description: Equinix Fabric 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 + serviceType: EPL + settings: + buyout: false + 400_prices: + value: + - errorCode: EQ-3038010 + errorMessage: Validation failure + details: Invalid request body + additionalInfo: + - property: /connection/zSide/accessPoint/location/metroCode + reason: /connection/zSide/accessPoint/location/metroCode has invalid format + 500_prices: + value: + - errorCode: EQ-3038030 + errorMessage: Internal Server Error + details: We couldn't process you request + 200_port: + value: + href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: Equinix-EM-CX-xxx-L-Dot1q-BO-100G-PRI-xx + bandwidthUtilization: 10000 + stats: + startDateTime: 2020-05-21T08:00:00Z + endDateTime: 2020-05-21T10:30:00Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: + max: 68.00905623111112 + mean: 48.90562310112 + lastPolled: 41.00905623111112 + metrics: + - intervalEndDateTime: 2020-05-21T10:30:00Z + max: 45.5623145112009 + mean: 31.38641687333333 + outbound: + max: 41.99068261111111 + mean: 33.70374303096296 + lastPolled: 41.43428905111111 + metrics: + - intervalEndDateTime: 2020-05-21T10:30:00Z + max: 42.01401189333334 + mean: 39.40894303096296 + 200_top: + value: + pagination: + offset: 0 + limit: 5 + total: 5 + data: + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: + max: 1913400000 + mean: 474960.24489120545 + lastPolled: 53.333333333333336 + metrics: + - intervalEndDateTime: 2021-03-18T18:49:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - intervalEndDateTime: 2021-03-18T18:54:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - intervalEndDateTime: 2021-03-18T18:59:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - intervalEndDateTime: 2021-03-18T19:04:21Z + max: 53.333333333333336 + mean: 53.333333333333336 + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + - href: http://api.equinix.com/fabric/v4/ports/xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + - type: XF_PORT + uuid: xxxxx191-xx70-xxxx-xx04-xxxxxxxa37xx + name: testUser-CX-SV2-NL-Dot1Q-BO-1G-PRI-JP-15 + bandwidth: 10000 + stats: + startDateTime: 2021-03-11T22:08:30.851Z + endDateTime: 2021-06-09T22:08:30.851Z + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: {} + 200_vc: + value: + href: https://api.equinix.com/fabric/v4/connections/97d1850f-4df0-468c-9281-fa7b0dfa2096 + type: EVPL_VC + uuid: 97d1850f-4df0-468c-9281-fa7b0dfa2096 + name: Admin-STATS-123-Abc + stats: + startDateTime: 2021-01-10T20:05:08Z + endDateTime: 2021-01-10T21:05:08Z + viewPoint: aSide + bandwidthUtilization: + unit: Mbps + metricInterval: PT5M + inbound: + max: 68.38641687333333 + mean: 39.96267986650665 + lastPolled: 41.00905623111112 + metrics: + - intervalEndDateTime: 2021-01-10T20:05:00Z + max: 41.89234537555556 + mean: 33.62481298948148 + - intervalEndDateTime: 2021-01-10T20:10:00Z + max: 41.86234987534256 + mean: 36.92451598748148 + - intervalEndDateTime: 2021-01-10T20:15:00Z + max: 41.86907222888888 + mean: 43.98230834555556 + - intervalEndDateTime: 2021-01-10T20:20:00Z + max: 41.91562025333334 + mean: 41.086565260765425 + outbound: + max: 67.79944363333334 + mean: 38.116581250214345 + lastPolled: 41.43428905111111 + metrics: + - intervalEndDateTime: 2021-01-10T20:05:00Z + max: 41.99068261111111 + mean: 33.70374303096296 + - intervalEndDateTime: 2021-01-10T20:10:00Z + max: 42.56065261666111 + mean: 31.52464373892222 + - intervalEndDateTime: 2021-01-10T20:15:00Z + max: 41.96735416222222 + mean: 44.08555118977779 + - intervalEndDateTime: 2021-01-10T20:20:00Z + max: 42.01401189333334 + mean: 39.40894303096296 + ServiceProfilesResponse: + value: + data: + - state: ACTIVE + account: + organizationName: testSeller-270010 + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=aSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + selfProfile: true + pagination: + offset: 0 + limit: 1 + total: 52 + next: /serviceProfiles?offset=1&limit=1 + SellerServiceProfilesResponse: + value: + data: + - state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=zSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + pagination: + offset: 0 + limit: 1 + total: 31898 + next: /serviceProfiles?offset=1&limit=1 + sp-400: + value: + - errorCode: EQ-3001015 + errorMessage: Access point is not accessible + - errorCode: EQ-3001014 + errorMessage: Redundant Service Profile requires at least one primary port and one secondary port in a metro + - errorCode: EQ-3001013 + errorMessage: Some of the access point are duplicate + - errorCode: EQ-3001012 + errorMessage: access point with same port encapsulation will be allowed in service profile request + - errorCode: EQ-3001019 + errorMessage: If apiAvailable, then integrationId is mandatory + - errorCode: EQ-3001020 + errorMessage: Speed from api required + - errorCode: EQ-3001021 + errorMessage: Speedbands not allowed + - errorCode: EQ-3001112 + errorMessage: API Integration should be enabled with Integration ID for deriving speed from API + - errorCode: EQ-3001023 + errorMessage: Speed band length is invalid + - errorCode: EQ-3001024 + errorMessage: Invalid api available + - errorCode: EQ-3001025 + errorMessage: Seller port encapsulation cannot be DOT1Q if Auto generate service key is True + - errorCode: EQ-3001026 + errorMessage: "customFields[].options : must have values for customField with dataType=LIST" + - errorCode: EQ-3001027 + errorMessage: Duplicate custom field lables + - errorCode: EQ-3001113 + errorMessage: Service profile can be updated to ACTIVE or REJECTED + - errorCode: EQ-3001114 + errorMessage: Some of the profile with the given id either not in valid state or not exist in database + - errorCode: EQ-3001115 + errorMessage: Unable to delete some of the profile because it does not exist + - errorCode: EQ-3001116 + errorMessage: get metros call failed + - errorCode: EQ-3001028 + errorMessage: Cannot change service profile type + - errorCode: EQ-3001029 + errorMessage: Cannot change state if not admin user + - errorCode: EQ-3001030 + errorMessage: Invalid Custom Field dataType + - errorCode: EQ-3001031 + errorMessage: Invalid notification.type value + - errorCode: EQ-3001032 + errorMessage: "serviceProfile.type : unsupported value" + - errorCode: EQ-3001022 + errorMessage: Only alphanumeric, hyphen(-) and underscore(_) characters are allowed in service profile name. Other special characters are not allowed + - errorCode: EQ-3001204 + errorMessage: EPL ports are not supported + sp-401: + value: + - errorCode: EQ-3001207 + errorMessage: Unauthorized user + sp-403-read: + value: + - errorCode: EQ-3001033 + errorMessage: You are not authorized to execute the requested action on the resource + sp-500: + value: + - errorCode: EQ-3001206 + errorMessage: Internal Server Error + ServiceProfileCreate: + value: + name: Service Profile 1 + description: Sample_description + type: L2_PROFILE + notifications: + - emails: + - someone@sample.com + type: BANDWIDTH_ALERT + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + ports: + - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + type: XF_PORT + location: + metroCode: SY + marketingInfo: + promotion: true + accessPointTypeConfigs: + - type: COLO + connectionRedundancyRequired: false + allowBandwidthAutoApproval: false + allowRemoteConnections: true + connectionLabel: Service Profile 1 + enableAutoGenerateServiceKey: false + bandwidthAlertThreshold: 10 + allowCustomBandwidth: true + apiConfig: + apiAvailable: false + equinixManagedVlan: false + bandwidthFromApi: false + integrationId: null + equinixManagedPort: false + authenticationKey: + required: false + label: Service Key + description: XYZ + supportedBandwidths: + - 100 + - 500 + ServiceProfileCreate-CRH: + value: + name: Service Profile 1 + description: Sample_description + type: L2_PROFILE + notifications: + - emails: + - someone@sample.com + type: BANDWIDTH_ALERT + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + ports: + - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + type: XF_PORT + location: + metroCode: SY + marketingInfo: + promotion: true + accessPointTypeConfigs: + - type: COLO + connectionRedundancyRequired: false + allowBandwidthAutoApproval: false + allowRemoteConnections: true + connectionLabel: Service Profile 1 + enableAutoGenerateServiceKey: false + bandwidthAlertThreshold: 10 + allowCustomBandwidth: true + apiConfig: + apiAvailable: false + equinixManagedVlan: false + bandwidthFromApi: false + integrationId: null + equinixManagedPort: false + authenticationKey: + required: false + label: Service Key + description: XYZ + supportedBandwidths: + - 100 + - 500 + ServiceProfileCreateResponse: + value: + state: PENDING_APPROVAL + account: + orgId: 91785 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdDateTime: 2022-04-12T19:06:57.940Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 1 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + ibxs: + - SY4 + sp-403-create: + value: + - errorCode: EQ-3001036 + errorMessage: You are not authorized to execute the requested action on the resource + ServiceProfileSearchWithUuid: + value: + filter: + property: /uuid + operator: = + values: + - 13100b2d-234f-4425-ab5c-1449d4b806be + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithName: + value: + filter: + property: /name + operator: = + values: + - My-Service-Profile-1 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithState: + value: + filter: + property: /state + operator: = + values: + - ACTIVE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithVisibility: + value: + filter: + property: /visibility + operator: = + values: + - PUBLIC + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithProjectId: + value: + filter: + property: /project/projectId + operator: = + values: + - e365ab86-0103-44a6-a08b-120c4374b000 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithPort: + value: + filter: + property: /ports/uuid + operator: = + values: + - 23100b2d-234f-4425-ab5c-1449d4b806bf + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + ServiceProfileSearchWithAnd: + value: + filter: + and: + - property: /state + operator: = + values: + - ACTIVE + - property: /visibility + operator: = + values: + - PRIVATE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/updatedDateTime + sp-400-search: + value: + - errorCode: EQ-3001022 + errorMessage: INVALID_VALUE + - errorCode: EQ-3001202 + errorMessage: Unsupported search property + details: "Supported search properties are : /name,/uuid,/state,/metros/code,/visibility,/type" + - errorCode: EQ-3001202 + errorMessage: Unsupported search property + details: "Supported search operator is : =" + - errorCode: EQ-3001022 + errorMessage: "pagination.limit : must be greater than or equal to 1" + additionalInfo: + - property: pagination.limit + reason: must be greater than or equal to 1 + - errorCode: EQ-3001022 + errorMessage: "pagination.offset : must be greater than or equal to 0" + additionalInfo: + - property: pagination.offset + reason: must be greater than or equal to 0 + - errorCode: EQ-3001022 + errorMessage: Unexpected value + ServiceProfileResponse: + value: + state: ACTIVE + account: + organizationName: testSeller-270010 + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=aSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + selfProfile: true + SellerServiceProfileResponse: + value: + state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f?viewPoint=zSide + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + ServiceProfileUpdate: + value: + name: Service Profile 2 + description: Sample_description + type: L2_PROFILE + notifications: + - emails: + - someone@sample.com + type: BANDWIDTH_ALERT + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + ports: + - uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + type: XF_PORT + location: + metroCode: SY + marketingInfo: + promotion: true + accessPointTypeConfigs: + - type: COLO + connectionRedundancyRequired: false + allowBandwidthAutoApproval: false + allowRemoteConnections: false + connectionLabel: true1 + enableAutoGenerateServiceKey: false + bandwidthAlertThreshold: 10 + allowCustomBandwidth: true + apiConfig: + apiAvailable: false + equinixManagedVlan: true + bandwidthFromApi: false + integrationId: null + equinixManagedPort: true + authenticationKey: + required: false + label: Service Key + description: XYZ + supportedBandwidths: + - 100 + - 500 + ServiceProfilePutResponse: + value: + state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + sp-403-update: + value: + - errorCode: EQ-3001035 + errorMessage: You are not authorized to execute the requested action on the resource + sp-404-get: + value: + - errorCode: EQ-3001011 + errorMessage: Invalid uuid + ServiceProfileDeleteResponse: + value: + state: DELETED + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedBy: fusiontestseller + updatedByFullName: fusiontestSeller fusiontestSeller + updatedByEmail: fusiontestSeller@equinix.com + updatedDateTime: 2022-04-12T21:53:57.816Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + tags: + - sample_tag + visibility: PUBLIC + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + sp-400-delete: + value: + - errorCode: EQ-3001115 + errorMessage: Unable to delete some of the profile because it does not exist + sp-403-delete: + value: + - errorCode: EQ-3001034 + errorMessage: You are not authorized to execute the requested action on the resource + ServiceProfilePatchRequest: + value: + - op: add + path: /tags + value: + - sample_tag + ServiceProfilePatchResponse: + value: + state: ACTIVE + account: + orgId: 91785 + organizationName: testSeller-270010 + globalOrgId: 0016u000003JZ4tAAG + changeLog: + createdBy: fusiontestseller + createdByFullName: fusiontestSeller fusiontestSeller + createdByEmail: fusiontestSeller@equinix.com + createdDateTime: 2022-04-12T19:06:57.940Z + updatedDateTime: 2022-04-12T19:11:04.017Z + href: https://api.equinix.com/fabric/v4/serviceProfiles/ea4b5141-e4d2-49f1-9768-4ea6e215b37f + type: L2_PROFILE + name: Service Profile 2 + uuid: ea4b5141-e4d2-49f1-9768-4ea6e215b37f + description: Sample_description + notifications: + - type: BANDWIDTH_ALERT + emails: + - someone@sample.com + - type: CONNECTION_APPROVAL + emails: + - someone@sample.com + - type: PROFILE_LIFECYCLE + emails: + - someone@sample.com + visibility: PUBLIC + tags: + - sample_tag + allowedEmails: + - test@equinix.com + - testagain@equinix.com + accessPointTypeConfigs: + - type: COLO + uuid: f20c49cd-b022-4aeb-b3e4-49db4389aff3 + supportedBandwidths: + - 100 + - 500 + allowRemoteConnections: false + allowCustomBandwidth: true + bandwidthAlertThreshold: 10 + allowBandwidthAutoApproval: false + linkProtocolConfig: + encapsulationStrategy: CTAGED + reuseVlanSTag: false + encapsulation: DOT1Q + enableAutoGenerateServiceKey: false + connectionRedundancyRequired: false + apiConfig: + apiAvailable: false + equinixManagedPort: true + equinixManagedVlan: true + allowOverSubscription: false + overSubscriptionLimit: 1 + bandwidthFromApi: false + connectionLabel: true1 + authenticationKey: + required: false + label: Service Key + marketingInfo: + promotion: true + ports: + - type: XF_PORT + uuid: c791f8cb-5cc9-cc90-8ce0-306a5c00a4ee + location: + metroCode: SY + metros: + - code: SY + name: Sydney + ibxs: + - SY4 + displayName: Sydney + sp-412: + value: + - errorCode: EQ-3001205 + errorMessage: "If-Match : invalid Etag version" + getServiceToken: + value: + href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + getServiceToken-CRH: + value: + href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expiry: 0 + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + project: + projectId: "995072000433550" + 400_UUID: + value: + - errorCode: EQ-3034016 + errorMessage: Token not found + correlationId: 0963d003-ecda-4391-b166-8ccbf31d2d82 + additionalInfo: + - property: tokenUuid + reason: Token not found + UpdateExpirationDate: + value: + - op: replace + path: /expirationDateTime + value: 2023-01-20T18:50:34.696Z + UpdateTokenName: + value: + - op: replace + path: /name + value: Az_Aside_Dot1Q_NewName + UpdateTokenDescription: + value: + - op: replace + path: /description + value: Az_Aside_Dot1Q_Pri_SV_NewDescription + UpdateNotificationEmail: + value: + - op: replace + path: /notifications/emails + value: + - test1@equinix.com + - test2@equinix.com + UpdateAsideTokenBandwidth: + value: + - op: replace + path: /connection/bandwidthLimit + value: 100 + UpdateZsideTokenBandwidth: + value: + - op: replace + path: /connection/supportedBandwidths + value: + - 50 + - 1000 + getServiceTokens: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + getServiceTokens-CRH: + value: + pagination: + offset: 0 + limit: 75 + total: 1 + data: + - href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expiry: 0 + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + createServiceTokenWithQnQ: + value: + type: VC_TOKEN + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + createServiceTokenWithDot1Q: + value: + type: VC_TOKEN + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: DOT1Q + vlanTag: 1399 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + createServiceTokenWithVxlan: + value: + type: VC_TOKEN + name: Az_Aside_VxLAN_Pri_SV + description: Az_Aside_VxLAN_Pri_SV_Description + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + allowRemoteConnection: true + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: VXLAN + vlanTag: 510000 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + createZsideServiceTokenWithQnQ: + value: + type: VC_TOKEN + name: Az_Zside_Dot1Q_Pri_SV + description: Az_Zside_Dot1Q_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + createZsideServiceTokenWithQnQ-CRH: + value: + type: VC_TOKEN + name: Az_Zside_Dot1Q_Pri_SV + description: Az_Zside_Dot1Q_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + account: + accountNumber: 272010 + project: + projectId: 30ad25e2-53dc-11ed-bdc3-0242ac120002 + expiry: 1 + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + createZsideServiceTokenWithDot1Q: + value: + type: VC_TOKEN + name: Az_Zside_Dot1Q_Pri_SV + description: Az_Zside_Dot1Q_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: DOT1Q + vlanTag: "3332" + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + createZsideServiceTokenWithVxlan: + value: + type: VC_TOKEN + name: Az_Zside_VxLAN_Pri_SV + description: Az_Zside_VxLAN_Pri_SV_Description + issuerSide: Z_Side + connection: + type: EVPL_VC + allowRemoteConnection: true + allowCustombandwidth: false + supportedBandwidths: + - 10 + - 50 + - 200 + - 500 + - 1000 + - 2000 + - 5000 + - 10000 + - 25000 + - 50000 + zSide: + accessPointSelectors: + - type: COLO + hideAssetInfo: false + port: + uuid: b840a1db-5413-413f-97e0-328a5c00a874 + linkProtocol: + type: VXLAN + vlanTag: "520000" + expirationDateTime: 2021-03-18T06:43:49.980Z + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + Resend_Service_Token: + value: + type: RESEND_EMAIL_NOTIFICATION + postServiceTokenActionResponse: + value: + href: http://api.equinix.com/fabric/v4/serviceTokens/13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + type: VC_TOKEN + uuid: 13ab7dc7-c18e-4f73-aa35-fc3a83966e79 + name: Az_Aside_Dot1Q_Pri_SV + description: Az_Aside_Dot1Q_Pri_SV_Description + state: INACTIVE + expiry: 0 + expirationDateTime: 2021-03-18T06:43:49.980Z + connection: + type: EVPL_VC + href: http://api.equinix.com/fabric/v4/connections/53dc2010-5006-46b6-9e91-995c47415d5b + uuid: 53dc2010-5006-46b6-9e91-995c47415d5b + allowRemoteConnection: false + bandwidthLimit: 50 + allowCustomBandwidth: false + aSide: + accessPointSelectors: + - type: COLO + port: + href: http://api.equinix.com/fabric/v4/ports/b840a1db-5758-758f-97e0-328a5c00a874 + type: XF_PORT + uuid: b840a1db-5758-758f-97e0-328a5c00a874 + linkProtocol: + type: QINQ + vlanCTag: 1399 + vlanSTag: 1388 + notifications: + - type: NOTIFICATION + emails: + - abc@company.com + - provider@company.com + account: + orgId: 111437 + changeLog: + createdBy: "843577" + createdDateTime: 2021-03-18T06:43:49.980Z + updatedBy: "843577" + updatedDateTime: 2021-03-18T06:44:14.206Z + project: + projectId: "995072000433550" + postServiceTokenSearchUuid: + value: + filter: + and: + - property: /uuid + operator: = + values: + - 407f8239-254c-4fe2-a378-458f197e17c4 + metro: + value: + pagination: + offset: 0 + limit: 75 + total: 1 + data: + - href: https://api.equinix.com/v4/fabric/metros/AM + type: XF_METRO + code: AM + name: Amsterdam + region: EMEA + equinixAsn: 60000 + localVCBandwidthMax: 10000 + geoCoordinates: + latitude: 52.30049 + longitude: 4.942603 + connectedMetros: + - href: https://api.equinix.com/v4/fabric/metros/MX + code: MX + avgLatency: 132 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/AM + code: HH + avgLatency: 8.62 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/SL + code: SL + avgLatency: 229 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/SO + code: SO + avgLatency: 36.3 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/IL + code: IL + avgLatency: 44.8 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/LS + code: LS + avgLatency: 36.6 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/BA + code: BA + avgLatency: 32.6 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/BL + code: BL + avgLatency: 3.28 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/GV + code: GV + avgLatency: 15.3 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/LD + code: LD + avgLatency: 5.85 + remoteVCBandwidthMax: 50000 + 400_metros: + value: + - errorCode: EQ-3036013 + errorMessage: Invalid Query Parameter + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: presence + reason: Allowed value for presence is MY_PORTS + 401_metros: + value: + - errorCode: EQ-3036001 + errorMessage: Unauthorized + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - reason: You are unauthorized to perform this operation + 500_metros: + value: + - errorCode: EQ-3036030 + errorMessage: Internal Server Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - reason: An Internal Server Error occured + metroByCode: + value: + href: https://api.equinix.com/v4/fabric/metros/AM + type: XF_METRO + code: AM + region: EMEA + name: Amsterdam + equinixAsn: 60000 + localVCBandwidthMax: 50000 + geoCoordinates: + latitude: 52.30049 + longitude: 4.942603 + connectedMetros: + - href: https://api.equinix.com/v4/fabric/metros/MX + code: MX + avgLatency: 132 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/HH + code: HH + avgLatency: 8.62 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/SL + code: SL + avgLatency: 229 + remoteVCBandwidthMax: 50000 + - href: https://api.equinix.com/v4/fabric/metros/SO + code: SO + avgLatency: 36.3 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/IL + code: IL + avgLatency: 44.8 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/LS + code: LS + avgLatency: 36.6 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/AM + code: BA + avgLatency: 32.6 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/BL + code: BL + avgLatency: 3.28 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/GV + code: GV + avgLatency: 15.3 + remoteVCBandwidthMax: 10000 + - href: https://api.equinix.com/v4/fabric/metros/LD + code: LD + avgLatency: 5.85 + remoteVCBandwidthMax: 10000 + 400_metroCode: + value: + - errorCode: EQ-3036013 + errorMessage: Invalid Path Parameter + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: pathparameter-metroCode + reason: Provide valid metro code + ports: + value: + pagination: + offset: 0 + limit: 5 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d + type: XF_PORT + uuid: e91484bb-4f65-4ab3-8f77-500dec2f855d + name: test-AT1-Dot1q-L-Secondary-108608 + state: ACTIVE + cvpId: "108608" + bandwidth: 10000 + usedBandwidth: 0 + availableBandwidth: 20000 + redundancy: + group: "1" + priority: SECONDARY + location: + metroHref: https://api.equinix.com/fabric/v4/metros/AT + ibx: AT1 + metroCode: AT + metroName: Atlanta + region: AMER + device: + name: dev-m7a2.lab + redundancy: + group: "1" + priority: SECONDARY + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + lagEnabled: true + lag: + enabled: true + settings: + buyout: false + placeVcOrderPermission: true + viewPortPermission: true + physicalPorts: + - state: ACTIVE + type: XF_PHYSICAL_PORT + id: 6967 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:956:66107 + patchPanelPortA: "5" + patchPanelPortB: "42" + operation: + operationalStatus: UP + - state: ACTIVE + type: XF_PHYSICAL_PORT + id: 6968 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + demarcationPoint: + ibx: AT1 + patchPanel: PP:8118:1586 + patchPanelName: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + operation: + operationalStatus: UP + operation: + operationalStatus: UP + opStatusChangedAt: 2021-06-14T17:21:25.586Z + connectionCount: 0 + account: + accountNumber: "100179" + accountName: L2 + globalCustId: 007700000090982RG8 + orgId: "100179" + organizationName: Cust_Org_100179 + changeLog: + createdDateTime: 2020-06-14T17:21:25.586Z + COLOSinglePortNonLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + physicalPorts: + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + COLOSinglePortLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + physicalPorts: + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + COLOLagPortNewGroup: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + physicalPorts: + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + - demarcationPoint: + ibx: GV1 + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + connectorType: SC + COLOAddSecondaryPort: + value: + type: XF_PORT + physicalPortsSpeed: 10000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: COLO + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + sharedPortType: false + sharedPortProduct: null + redundancy: + priority: SECONDARY + group: 1f6bdb37-f131-5925-c039-fe1785fad165 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - type: PEERING + registeredUsers: + - jaguarsuser-port-order + - type: ESCALATION + registeredUsers: + - jaguarsuser-port-order + physicalPorts: + - demarcationPoint: + ibx: AM1 + cabinet: AM1:02:032575:0105 + cage: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + REMOTESinglePortNewGroupLagRequest: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: REMOTE + physicalPortsCount: 1 + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + sharedPortType: false + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + loas: + - uuid: 396e93c2-3b3a-4d47-a9d9-1ea68627374b + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + BMMRSinglePortLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + bmmrType: SELF + physicalPortsCount: 1 + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + loas: + - uuid: 396e93c2-3b3a-4d47-a9d9-1ea68627374b + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + BMMRSinglePortNoLag: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + loas: + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c3 + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c4 + BMMRAddSecondaryPort: + value: + type: XF_PORT + physicalPortsSpeed: 10000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + bmmrType: SELF|EQUINIX + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + sharedPortProduct: NETWORK_EDGE + redundancy: + priority: SECONDARY + group: 1f6bdb37-f131-5925-c039-fe1785fad165 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - type: PEERING + registeredUsers: + - jaguarsuser-port-order + - type: ESCALATION + registeredUsers: + - jaguarsuser-port-order + loas: + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c3 + - uuid: f47a6f46-e3f8-430e-9459-bfcc0f54f3c4 + BMMRLagPortNewGroup: + value: + type: XF_PORT + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + connectivitySourceType: BMMR + bmmrType: SELF + physicalPortsCount: 1 + location: + metroCode: GV + demarcationPointIbx: GV1 + settings: + packageType: STANDARD + lagEnabled: true + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + account: + accountNumber: "270848" + notifications: + - registeredUsers: + - jaguarsuser-port-order + type: TECHNICAL + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + COLOSinglePortNonLagResponse: + value: + href: https://api.equinix.com/fabric/v4/ports/0f6bdb36-e130-4924-b038-ee1785fad166 + type: XF_PORT + uuid: 0f6bdb36-e130-4924-b038-ee1785fad166 + state: PENDING + physicalPortsType: 10GBASE_L + physicalPortsSpeed: 10000 + physicalPortsCount: 1 + location: + metroCode: AM + demarcationPointIbx: AM1 + redundancy: + group: 1 + priority: PRIMARY + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + settings: + sharedPortType: false, + packageType: STANDARD + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: 567 + account: + accountNumber: 1000 + order: + orderNumber: 1-207799950758 + signature: + signatory: DELEGATE + delegate: + email: testEmail1@equinix.com + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - type: PEERING + registeredUsers: + - jaguarsuser-port-order + - type: ESCALATION + registeredUsers: + - jaguarsuser-port-order + port-400: + value: + - errorCode: EQ-3143101 + errorMessage: NOTIFICATION_CONTACT_NOT_VALID + details: notifications + - errorCode: EQ-3143103 + errorMessage: NOTIFICATION_CONTACT_MISSING + details: notifications + - errorCode: EQ-3143104 + errorMessage: ORDERING_CONTACT_MISSING + details: notifications + - errorCode: EQ-3143105 + errorMessage: ORDERING_CONTACT_NOT_VALID + details: notifications + - errorCode: EQ-3143106 + errorMessage: INVALID_PHYSICAL_PORTS + details: physicalPorts[%s].Demarcation.cageUniqueSpaceId + - errorCode: EQ-3143107 + errorMessage: INVALID_PATCH_PANEL_NAME + details: physicalPorts[%s].Demarcation.patchPanelName is not valid + - errorCode: EQ-3143108 + errorMessage: PHYSICAL_PORTS_MISSING + details: PhysicalPorts + - errorCode: EQ-3143109 + errorMessage: ALL_PORTS_USED + details: PhysicalPorts.Demarcation.port + - errorCode: EQ-3143110 + errorMessage: INVALID_PHYSICAL_PORTS_PORTA_DUPLICATE + details: PhysicalPorts[%s].Demarcation.portA + - errorCode: EQ-3143111 + errorMessage: INVALID_PHYSICAL_PORTS_PORTB_DUPLICATE + details: PhysicalPorts[%s].Demarcation.portB + - errorCode: EQ-3143112 + errorMessage: NEXT_AVAIL_CANNOT_BE_TRUE + details: PhysicalPorts[%s].Demarcation.portA + - errorCode: EQ-3143113 + errorMessage: provided metroCode is not available for this user + details: metroCode + - errorCode: EQ-3143114 + errorMessage: MISSING_PORTB + details: PhysicalPorts[%s].Demarcation.portB + - errorCode: EQ-3143115 + errorMessage: PORT_PRIORITY_SHOULD_BE_PRIMARY + details: priority + - errorCode: EQ-3143116 + errorMessage: INVALID_PHYSICAL_PORTS_SPEED + details: physicalPortsSpeed + - errorCode: EQ-3143117 + errorMessage: INVALID_PHYSICAL_PORTS_TYPE + details: physicalPortsType + - errorCode: EQ-3143118 + errorMessage: INVALID_QUOTE_REFERENCE_ID + details: quoteReferenceId + - errorCode: EQ-3143119 + errorMessage: INACTIVE_QUOTE_REFERENCE_ID + details: quoteReferenceId + - errorCode: EQ-3143120 + errorMessage: QUOTE_ORDER_MISMATCHED + details: quoteReferenceId + - errorCode: EQ-3143121 + errorMessage: SHARED_PORT_PRODUCT_INVALID + details: sharedPortProduct + - errorCode: EQ-3143122 + errorMessage: INVALID_USER + details: sharedPortType + - errorCode: EQ-3143123 + errorMessage: INVALID_CONNECTIVITY_SOURCE_TYPE + details: ConnectivitySourceType + - errorCode: EQ-3143124 + errorMessage: ACCOUNT_SERVICE_ERROR + details: AccountNumber + - errorCode: EQ-3143125 + errorMessage: MANDATORY_ATTRIBUTE_ERROR + details: PhysicalPorts[%s].Demarcation.portA + - errorCode: EQ-3143126 + errorMessage: UNTAGGED_INVALID_PACKAGE_TYPE + details: settings.packageType + - errorCode: EQ-3143127 + errorMessage: UNTAGGED_INVALID_ENCAPSULATION + details: encapsulation.type + - errorCode: EQ-3143128 + errorMessage: UNTAGGED_REDUNDANT + details: redundancy.priority + - errorCode: EQ-3143129 + errorMessage: UNTAGGED_LAG + details: lagEnabled + - errorCode: EQ-3143130 + errorMessage: UNTAGGED_SHARED + details: settings.sharedPortType + - errorCode: EQ-3143131 + errorMessage: UNTAGGED_TPID + details: encapsulation.tagProtocolId + - errorCode: EQ-3143132 + errorMessage: PHYSICAL_PORTS_SPEED_NOT_AVAILABLE + details: physicalPortsSpeed + - errorCode: EQ-3143133 + errorMessage: Invalid A side ibx in MC order payload + details: ibx + - errorCode: EQ-3143134 + errorMessage: Invalid Z side ibx in MC order payload + details: ibx + - errorCode: EQ-3143135 + errorMessage: LAG_PORT_WITHOUT_LAG + details: lagPort + - errorCode: EQ-3143136 + errorMessage: LAG_WITH_WITHOUT_LAG + details: lag.type + - errorCode: EQ-3143137 + errorMessage: ORDER_NOT_BELONG_TO_USER + - errorCode: EQ-3143138 + errorMessage: ORDER_NOT_FOUND + port-500: + value: + - errorCode: EQ-3143001 + errorMessage: Please contact support@equinix.com for more info + - errorCode: EQ-3143002 + errorMessage: Invalid response from order service + - errorCode: EQ-3143003 + errorMessage: Invalid argument value passed + - errorCode: EQ-3143004 + errorMessage: Json syntax error, please check request body + - errorCode: EQ-3143005 + errorMessage: Invalid argument passed + - errorCode: EQ-3143006 + errorMessage: Method not supported, Please check the URL passed + - errorCode: EQ-3143008 + errorMessage: virtual Port not found + details: connectionDetails[%s].patchPanelName is not valid + COLOBulkPort: + value: + data: + - type: XF_PORT + name: L2-DEV-USER01-CX-10G-PRIMARY + description: Test Redundant port in Amsterdam + physicalPortsSpeed: 10000 + location: + metroCode: AM + demarcationPointIbx: AM1 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + redundancy: + priority: PRIMARY + physicalPorts: + - demarcationPoint: + ibx: AM1 + cabinet: AM1:02:032575:0105 + cage: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + - type: XF_PORT + name: L2-DEV-USER01-CX-10G-SECONDARY + description: Test Redundant port in Amsterdam + physicalPortsSpeed: 10000 + location: + metroCode: AM + demarcationPointIbx: AM1 + lagEnabled: false + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + project: + projectId: 567 + account: + accountNumber: 1000 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + redundancy: + priority: SECONDARY + physicalPorts: + - demarcationPoint: + ibx: AM1 + cabinet: AM1:02:032575:0105 + cage: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + COLOBulkPortResponse: + value: + data: + - href: http://qa3api.corp.equinix.com/fabric/v4/ports/a6f77b33-96c6-4eeb-8d79-76374d950603 + uuid: a6f77b33-96c6-4eeb-8d79-76374d950603 + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + physicalPortsCount: 1 + connectivitySourceType: COLO + state: PENDING + order: + orderNumber: 1-210210611704 + account: + accountNumber: 270848 + changelog: + createdBy: "907831" + createdDateTime: 2023-06-02T22:25:52.206Z + location: + metroCode: GV + demarcationPointIbx: GV1 + redundancy: + group: 22f8e668-4754-4564-825d-d1c7889c885a + priority: PRIMARY + lagEnabled: false + settings: + sharedPortType: false + packageType: STANDARD + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + - href: http://qa3api.corp.equinix.com/fabric/v4/ports/22f8e668-4754-4564-825d-d1c7889c885a + uuid: 22f8e668-4754-4564-825d-d1c7889c885a + physicalPortsSpeed: 1000 + physicalPortsType: 1000BASE_LX + physicalPortsCount: 1 + connectivitySourceType: COLO + state: PENDING + order: + orderNumber: 1-210210611704 + account: + accountNumber: 270848 + changelog: + createdBy: "907831" + createdDateTime: 2023-06-02T22:25:52.206Z + location: + metroCode: GV + demarcationPointIbx: GV1 + redundancy: + group: a6f77b33-96c6-4eeb-8d79-76374d950603 + priority: SECONDARY + lagEnabled: false + settings: + sharedPortType: false + packageType: STANDARD + notifications: + - type: TECHNICAL + registeredUsers: + - jaguarsuser-port-order + - type: NOTIFICATION + registeredUsers: + - jaguarsuser-port-order + COLOAddToLag: + value: + data: + - type: XF_PHYSICAL_PORT + demarcationPoint: + ibx: AM1 + cabinetUniqueSpaceId: AM1:02:032575:0105 + cageUniqueSpaceId: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 14 + patchPanelPortB: 15 + connectorType: LC + account: + accountNumber: 17829 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + - type: XF_PHYSICAL_PORT + account: + accountNumber: 17829 + demarcationPoint: + ibx: AM1 + cabinetUniqueSpaceId: AM1:02:032575:0105 + cageUniqueSpaceId: AM1:02:032575 + patchPanel: PP:0105:1260379 + patchPanelPortA: 16 + patchPanelPortB: 17 + connectorType: LC + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + REMOTEAddToLag: + value: + data: + - type: XF_PHYSICAL_PORT + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + account: + accountReferenceId: 17829Id + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + - type: XF_PHYSICAL_PORT + account: + accountReferenceId: 17829Id + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + BMMRAddToLag: + value: + data: + - type: XF_PHYSICAL_PORT + account: + accountNumber: 17829 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + - type: XF_PHYSICAL_PORT + account: + accountNumber: 17829 + order: + purchaseOrder: + number: 156576 + amount: 10 + startDate: 2018-06-11 + endDate: 2018-07-11 + selectionType: NEW + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com + - loas: + - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e + COLOAddToLagResponse: + value: + data: + - type: XF_PHYSICAL_PORT + demarcationPoint: + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + patchPanelPortA: "39" + patchPanelPortB: "40" + connectorType: SC + ibx: GV1 + order: + orderNumber: 1-210210611904 + - type: XF_PHYSICAL_PORT + demarcationPoint: + cabinetUniqueSpaceId: Demarc + cageUniqueSpaceId: GV1:01:002174 + patchPanel: CP:Demarc:1259684 + patchPanelPortA: "41" + patchPanelPortB: "42" + connectorType: SC + ibx: GV1 + order: + orderNumber: 1-210210611904 + portByUUID: + value: + href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d + type: XF_PORT + uuid: e91484bb-4f65-4ab3-8f77-500dec2f855d + name: test-AT1-Dot1q-L-Secondary-108608 + state: ACTIVE + cvpId: "108608" + bandwidth: 10000 + usedBandwidth: 0 + availableBandwidth: 20000 + redundancy: + group: "1" + priority: Secondary + location: + metroHref: https://api.equinix.com/fabric/v4/metros/AT + ibx: AT1 + metroCode: AT + metroName: Atlanta + region: AMER + device: + name: dev-m7a2.lab + redundancy: + group: "1" + priority: Secondary + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + lagEnabled: true + lag: + enabled: true + settings: + buyout: false + placeVcOrderPermission: true + viewPortPermission: true + physicalPorts: + - state: PROVISIONED + type: XF_PHYSICAL_PORT + id: 6967 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + demarcationPoint: + ibx: AT1 + patchPanel: PP:8118:1586 + patchPanelName: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + operation: + operationalStatus: UP + - state: PROVISIONED + type: XF_PHYSICAL_PORT + id: 6968 + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + operation: + operationalStatus: UP + operation: + operationalStatus: UP + opStatusChangedAt: 2021-06-14T17:21:25.586Z + connectionCount: 0 + account: + accountNumber: "100179" + accountName: L2 + globalCustId: 007700000090982RG8 + orgId: "100179" + organizationName: Cust_Org_100179 + changeLog: + createdDateTime: 2018-06-14T17:21:25.587Z + portDelete: + value: + href: https://api.equinix.com/fabric/v4/ports/e91484bb-4f65-4ab3-8f77-500dec2f855d + type: XF_PORT + uuid: e91484bb-4f65-4ab3-8f77-500dec2f855d + name: test-AT1-Dot1q-L-Secondary-108608 + state: DEPROVISIONING + bandwidth: 10000 + usedBandwidth: 0 + availableBandwidth: 20000 + redundancy: + group: C91484bb-4f65-4ab3-8f77-500dec2f855C + priority: PRIMARY + location: + metroHref: https://api.equinix.com/fabric/v4/metros/AT + ibx: AT1 + metroCode: AT + metroName: Atlanta + region: AMER + device: + name: dev-m7a2.lab + redundancy: + group: C91484bb-4f65-4ab3-8f77-500dec2f855C + priority: PRIMARY + encapsulation: + type: DOT1Q + tagProtocolId: 33024 + lagEnabled: true + lag: + enabled: true + settings: + buyout: false + placeVcOrderPermission: true + viewPortPermission: true + physicalPorts: + - state: DEPROVISIONING + type: XF_PHYSICAL_PORT + bandwidth: 10000 + tether: + crossConnectId: 100179-A + patchPanel: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + demarcationPoint: + ibx: AT1 + patchPanel: PP:8118:1586 + patchPanelName: PP:8118:1586 + patchPanelPortA: "92" + patchPanelPortB: "24" + account: + accountNumber: 100179 + accountName: L2 account + globalCustId: 007700000090982RG8 + orgId: 100179 + organizationName: Cust_Org_100179 + changeLog: + createdDateTime: 2018-06-14T17:21:25.587Z + LinkProtocolGetQinqResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 5 + data: + - type: QINQ + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + asset: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanSTag: 1000 + vlanCTag: 500 + asset: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: QINQ + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanSTag: 1001 + vlanCTag: 1001 + asset: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + LinkProtocolGetDot1qResponseExample: + value: + pagination: + offset: 5 + limit: 20 + total: 40 + next: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20, + previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + data: + - type: DOT1Q + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanTag: 200 + asset: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanTag: 257 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanTag: 250 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanTag: 240 + asset: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanTag: 240 + asset: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + LinkProtocolGetVlanRangeResponseExample: + value: + pagination: + offset: 5 + limit: 20 + total: 40 + next: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=25&limit=20, + previous: /fabric/v4/ports/4ff4047c-7217-4b79-9943-c2c4a2f7324d/linkProtocols?offset=0&limit=20 + data: + - type: DOT1Q + uuid: 52d61263-fb0a-459d-a086-bc7fd6bd7384 + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + asset: + href: https://api.equinix.com/fabric/v4/connections/cd67f685-41b0-1b07-6de0-320a5c00abee + uuid: cd67f685-41b0-1b07-6de0-320a5c00abee + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 8c589394-b0eb-4057-97dc-3bdb4f8ff6db + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/fc4fb78a-6b89-462d-a233-e75ef61a603f + uuid: fc4fb78a-6b89-462d-a233-e75ef61a603f + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7f1da56d-e1ff-4b25-b542-883c7004e971 + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + serviceToken: + href: https://api.equinix.com/fabric/v4/serviceTokens/90f1af0e-134b-40d6-a007-e62cd6866373 + uuid: 90f1af0e-134b-40d6-a007-e62cd6866373 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: 7c968801-e03b-4530-8424-aa5ecc4339e2 + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + asset: + href: https://api.equinix.com/fabric/v4/connections/2ac4e14f-6120-4705-886e-d37f1d0c6a65 + uuid: 2ac4e14f-6120-4705-886e-d37f1d0c6a65 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + - type: DOT1Q + uuid: db812bba-94b8-43e6-8d9c-850f04350c3d + state: RESERVED + vlanTagMin: 177 + vlanTagMax: 179 + asset: + href: https://api.equinix.com/fabric/v4/connections/3268d105-e57b-4b2b-8a0a-2e3e42312d95 + uuid: 3268d105-e57b-4b2b-8a0a-2e3e42312d95 + bandwidth: 1000 + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + 400_invalid_portId: + value: + - errorCode: EQ-3035202 + errorMessage: Unable to fetch port details + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: The uuid requested could not be found in system. Please try again after sometime + additionalInfo: + property: portUuid + 403-port-access: + value: + - errorCode: EQ-3035002 + errorMessage: Access Forbidden + correlationId: UnAuthorized User- Cannot perform action + PortSearchByProjectId: + value: + filter: + or: + - and: + - operator: = + property: /project/projectId + values: + - 30ad25e2-53dc-11ed-bdc3-0242ac120002 + - operator: = + property: /state + values: + - ACTIVE + - operator: = + property: /settings/productCode + values: + - CX + pagination: + limit: 25 + offset: 0 + total: 0 + sort: + - property: /device/name + direction: DESC + ConnectionRouteFiltersGetAll: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/52f7791a-fe90-49bc-8807-18b3d6eda566 + type: BGP_IPv6_PREFIX_FILTER + uuid: 52f7791a-fe90-49bc-8807-18b3d6eda566 + attachmentStatus: ATTACHED + direction: INBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + type: BGP_IPv4_PREFIX_FILTER + uuid: 8b67bf1c-7afa-4a9e-98c3-d5ab17da6652 + attachmentStatus: ATTACHED + direction: OUTBOUND + - href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/65d74639-8f48-4e10-9684-45d364645e97 + type: BGP_IPv6_PREFIX_FILTER + uuid: 65d74639-8f48-4e10-9684-45d364645e97 + attachmentStatus: ATTACHED + direction: OUTBOUND + 400_invalid_input: + value: + - errorCode: EQ-3044101 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: type + AttachConnectionRouteFiltersResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: ATTACHING + direction: INBOUND + AttachConnectionRouteFilterInbound: + value: + direction: INBOUND + AttachConnectionRouteFilterOutbound: + value: + direction: OUTBOUND + 400_invalid_direction: + value: + - errorCode: EQ-3044001 + errorMessage: Invalid input + correlationId: 20d32a80-0d61-4333-bc03-707b591ae2f5 + additionalInfo: + - property: direction + 400_transient_state: + value: + - errorCode: EQ-3044008 + errorMessage: Cannot attach or detach Route Filter with Connection in transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot attach or detach Route Filter with Connection in transient state + DetachConnectionRouteFilterInboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: INBOUND + DetachConnectionRouteFilterOutboundResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + attachmentStatus: DETACHING + direction: OUTBOUND + RouteFilterCreateBgpIpv4Prefix: + value: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + notifications: + type: ALL + emails: + - test@equinix.com + RouteFilterCreateBgpIpv6Prefix: + value: + type: BGP_IPv6_PREFIX_FILTER + name: My-route-filter-v6 + description: Test filter + project: + projectId: 567 + RouteFilterCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4 + description: Test filter + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/c2ec84c5-6de6-4f5c-b506-3ce218630c31 + type: BGP_IPv4_PREFIX_FILTER_DELETION + uuid: c2ec84c5-6de6-4f5c-b506-3ce218630c31 + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_attached_connection: + value: + - errorCode: EQ-3044007 + errorMessage: Cannot delete Route Filter still attached to a Connection + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter still attached to a Connection + PatchRouteFilterName: + value: + - op: replace + path: /name + value: My-route-filter-v4-updated + RouteFilterNamePatchResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My-prefix-filter-v4-updated + description: Test filter + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + 400_invalid_operation: + value: + - errorCode: EQ-3044011 + errorMessage: Invalid Argument passed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Only replace name operation is supported. + RouteFilterGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_UPDATE + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /name + value: My-route-filter-v4-updated + previousValue: My-route-filter-v4 + RouteFilterGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/changes/04af0d37-9160-43d8-97ef-9da9786996a3 + type: BGP_IPv4_PREFIX_FILTER_CREATION + uuid: 04af0d37-9160-43d8-97ef-9da9786996a3 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER + name: My-route-filter-v4 + description: Test filter + project: + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + RouteFilterGetConnectionsResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + next: null + previous: null + data: + href: https://api.equinix.com/fabric/v4/connections/81331c52-04c0-4656-a4a7-18c52669348f + type: IP_VC + name: test-connection + uuid: 05de355a-6c9d-4636-8d7d-7b7595821c15 + SearchRouteFiltersRequest: + value: + filter: + and: + - property: /type + operator: = + values: + - BGP_IPv4_PREFIX_FILTER + - property: /name + operator: like + values: + - "%Route_Filter_Demo%" + - property: /project/projectId + operator: = + values: + - dadd3ab6-c0af-430c-8216-43d44f08c1c5 + pagination: + offset: 1 + limit: 2 + total: 10 + sort: + - property: /changeLog/updatedDateTime + direction: DESC + SearchRouteFiltersResponse: + value: + pagination: + offset: 1 + limit: 2 + total: 10 + next: /routeFilters?offset=3&limit=2 + previous: /routeFilters?offset=0&limit=2 + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My_Route_Filter_Demo_1 + description: Test filter + state: PROVISIONING + notMatchedRuleAction: DENY + connectionsCount: 1 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/795a8471-6595-4ac6-a2f4-b3d96ed3a59d + type: BGP_IPv4_PREFIX_FILTER + uuid: 695a8471-6595-4ac6-a2f4-b3d96ed3a59d + name: My_Route_Filter_Demo_2 + description: Test filter + state: PROVISIONING + notMatchedRuleAction: DENY + connectionsCount: 0 + project: + href: https://api.equinix.com/resourceManager/v1/projects/567 + projectId: dadd3ab6-c0af-430c-8216-43d44f08c1c5 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterRulesGetAll: + value: + pagination: + offset: 0 + limit: 32 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + state: PROVISIONED + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + state: PROVISIONED + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleCreateBgpIpv4Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + RouteFilterRuleCreateBgpIpv6Prefix: + value: + name: Private-subnet-filter + description: Test rule + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: orlonger + RouteFilterRuleCreateBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + state: PROVISIONING + description: Test rule + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleCreateBgpIpv6PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv6_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv6_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + action: PERMIT + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + 400_bad_request: + value: + - errorCode: EQ-3044013 + errorMessage: Invalid argument value passed + property: prefixMatch + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + UpdateRouteFilterRuleIPv4: + value: + name: Private-subnet-filter-update + description: Test rule + prefix: 192.168.0.0/24 + prefixMatch: exact + UpdateRouteFilterRuleIPv6: + value: + name: Private-subnet-filter-update + description: Test rule + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: exact + RouteFilterRuleReplaceIpv4Response: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter-update + description: Test rule + prefixMatch: exact + state: REPROVISIONING + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 192.168.0.0/24 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleReplaceIpv6Response: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv6_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter-update + description: Test rule + prefixMatch: exact + state: REPROVISIONING + action: PERMIT + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv6_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + prefix: 2001:7a9::34f4:0:f3dd:1/128 + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv4PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + state: DEPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv4_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 192.168.0.0/24 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + RouteFilterRuleDeleteBgpIpv6PrefixResponse: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403 + type: BGP_IPv6_PREFIX_FILTER_RULE + uuid: 9890d520-1579-4489-8003-154b34b8f403 + name: Private-subnet-filter + description: Test rule + state: REPROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/e8528788-14d3-4a7b-a740-99b702067485 + type: BGP_IPv6_PREFIX_FILTER_RULE_DELETION + uuid: e8528788-14d3-4a7b-a740-99b702067485 + action: PERMIT + prefix: 2001:7a9::34f4:0:f3dd:1/126 + prefixMatch: exact + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: testuser1 + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + updatedDateTime: 2020-05-21T10:30:00Z + deletedBy: testuser1 + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + deletedDateTime: 2020-05-21T10:30:00Z + 400_transient_filter: + value: + - errorCode: EQ-3044215 + errorMessage: Cannot delete Route Filter Rule, Route Filter transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Route Filter Rule, Route filter is in transient state + PatchRouteFilterRuleName: + value: + - op: replace + path: /name + value: test-route-filter-name-patch + PatchRouteFilterRulePrefix: + value: + - op: replace + path: /prefix + value: 192.168.0.0/30 + PatchRouteFilterRulePrefixMatch: + value: + - op: replace + path: /prefixMatch + value: orlonger + RouteFilterRulesGetAllChangesResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 3 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMatch: exact + action: PERMIT + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a40085a4-f0cc-416c-af01-286f7f7ec736 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a40085a4-f0cc-416c-af01-286f7f7ec736 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: orlonger + previousValue: exact + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/a25ca469-721a-4614-89a9-cdef287aa628 + type: BGP_IPv4_PREFIX_FILTER_RULE_UPDATE + uuid: a25ca469-721a-4614-89a9-cdef287aa628 + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + - op: replace + path: /prefixMatch + value: exact + previousValue: orlonger + RouteFilterRuleGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/ff9653dc-88c5-47b5-b552-8a08d2f73f7e + type: BGP_IPv4_PREFIX_FILTER_RULE_CREATION + uuid: ff9653dc-88c5-47b5-b552-8a08d2f73f7e + status: COMPLETED + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + updatedBy: _system + updatedByEmail: null + updatedByFullName: null + updatedDateTime: 2020-05-21T10:30:00Z + data: + type: BGP_IPv4_PREFIX_FILTER_RULE + name: Private-subnet-filter + description: Test rule + prefix: 192.168.0.0/25 + prefixMatch: exact + action: PERMIT + RouteFilterRulesBulkResponse: + value: + pagination: + offset: 0 + limit: 32 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/65b025ef-022b-4180-85cf-82cfc1ab655b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: 65b025ef-022b-4180-85cf-82cfc1ab655b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: exact + action: PERMIT + prefix: 192.168.10.0/24 + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + - href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/ea48337b-fe04-4164-a3f0-48d81abf575b + type: BGP_IPv4_PREFIX_FILTER_RULE + uuid: ea48337b-fe04-4164-a3f0-48d81abf575b + name: Private-subnet-filter-2 + description: Test rule + prefixMatch: orlonger + action: PERMIT + prefix: 192.168.20.0/24 + state: PROVISIONING + change: + href: https://api.equinix.com/fabric/v4/routeFilters/695a8471-6595-4ac6-a2f4-b3d96ed3a59d/routeFilterRules/9890d520-1579-4489-8003-154b34b8f403/changes/9397f111-19aa-489c-b3c7-349c86818f2d + type: IPv4_BGP_PREFIX_FILTER_RULE_CREATION + uuid: 9397f111-19aa-489c-b3c7-349c86818f2d + changeLog: + createdBy: testuser + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + createdDateTime: 2020-05-21T10:30:00Z + CreateLabPackage: + value: + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: SV + package: + code: LAB + notifications: + - type: ALL + emails: + - test@test.com + account: + accountNumber: 272010 + project: + projectId: "995072000433550" + CreateStandardPackage: + value: + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: SV + package: + code: STANDARD + notifications: + - type: ALL + emails: + - test@test.com + account: + accountNumber: 272010 + project: + projectId: "995072000433550" + CloudRouterPostResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "12345" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 0 + bgpIpv6RoutesCount: 0 + connectionsCount: 0 + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + 400_invalid_package: + value: + - errorCode: EQ-3040028 + errorMessage: Package not found + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: package must be of type LAB or PRO + CloudRouterResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 4 + bgpIpv6RoutesCount: 4 + distinctIpv4PrefixesCount: 2 + distinctIpv6PrefixesCount: 2 + connectionsCount: 0 + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-09-24T06:59:46Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-09-24T06:59:46Z + 400_invalid_state: + value: + - errorCode: EQ-3040030 + errorMessage: Cannot delete Fabric Cloud Router in transient state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Cannot delete Fabric Cloud Router in transient state. + UpdatePackage: + value: + - op: replace + path: /package/code + value: PREMIUM + UpdateName: + value: + - op: replace + path: /name + value: Router-name-2 + UpdateNotifications: + value: + - op: replace + path: /notifications + value: + - type: ALL + emails: + - testEmail1@equinix.com + - testEmail2@equinix.com + CloudRouterPatchResponseExample: + value: + href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 0 + bgpIpv6RoutesCount: 0 + connectionsCount: 0 + change: + uuid: 3c9b8e7a2-f3b1-4576-a4a9-1366a63df170 + type: ROUTER_UPDATE + status: REQUESTED + createdDateTime: 2022-04-19T04:20:55.471Z + updatedDateTime: 2022-04-19T04:20:55.471Z + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-09-24T06:59:46Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-09-24T06:59:46Z + CloudRouterActionResponse: + value: + type: ROUTE_TABLE_ENTRY_UPDATE + uuid: 37c10edc-ba2e-4240-a850-8a48f9c47d00 + state: PENDING + changeLog: + createdDateTime: 2020-05-21T10:30:00Z + RouteEntriesStatusUpdate: + value: + type: ROUTE_TABLE_ENTRY_UPDATE + SearchFilterByNextHop: + value: + filter: + and: + - property: /nextHop + operator: = + values: + - 67.2223.179.193 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterByPrefix: + value: + filter: + and: + - property: /prefix + operator: = + values: + - 10.203.1.0/30 + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterByType: + value: + filter: + and: + - property: /type + operator: = + values: + - IPv4_BGP_ROUTE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterByStatus: + value: + filter: + and: + - property: /state + operator: = + values: + - ACTIVE + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + SearchFilterOrAnd: + value: + filter: + and: + - or: + - property: /type + operator: LIKE + values: + - IPv4_BGP_ROUTE + - property: /type + operator: LIKE + values: + - abc + 400_invalid_sorting: + value: + - errorCode: EQ-3043015 + errorMessage: Invalid value for sorting direction. + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + additionalInfo: + - reason: Only accept DESC and ASC for sorting direction. + Request-direct-ipv4: + value: + filter: + and: + - property: /directIpv4/equinixIfaceIp + operator: = + values: + - 10.1.1.1/30 + - property: /connection/uuid + operator: = + values: + - a96f16d3-e504-44a7-a628-4916b5750008 + Request-direct-ipv6: + value: + filter: + and: + - property: /directIpv6/equinixIfaceIp + operator: = + values: + - 1202:ABCD::20:1::11/30 + - property: /connection/uuid + operator: = + values: + - a96f16d3-e504-44a7-a628-4916b5750008 + Response-200: + value: + additionalInfo: + - key: message + value: The provided subnet is valid. + error-400: + value: + - errorCode: EQ-2041022 + errorMessage: Invalid argument value passed. + correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 + error-400-overlappingSubnet: + value: + - errorCode: EQ-2041022 + errorMessage: The provided subnet is not valid. + details: The provided subnet is overlapping with other connections in the same Fabric Cloud Router. + correlationId: 5f9f9ab9-a6cb-4e8a-aa34-105cd4cb6cc8 + SearchFilterByNameAndMetroName: + value: + filter: + and: + - property: /name + operator: = + values: + - test-fg + - property: /metroName + operator: LIKE + values: + - Si% + - property: /project/projectId + operator: = + values: + - "995072000433550" + pagination: + offset: 0 + limit: 20 + sort: + - direction: DESC + property: /changeLog/createdDateTime + search-example: + value: + pagination: + offset: 20 + limit: 20 + total: 100 + next: /search?offset=40&limit=20 + previous: /search?offset=0&limit=20 + data: + - href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d + uuid: 201b7346-a9eb-42fe-ae7a-08148c71928d + state: PROVISIONED + type: XF_ROUTER + name: My-Cloud-Router + location: + metroCode: HH + equinixAsn: 30000 + package: + code: STANDARD + order: + purchaseOrderNumber: 1-129105284100 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - abc@abc.com + account: + accountNumber: 123 + bgpIpv4RoutesCount: 0 + bgpIpv6RoutesCount: 0 + connectionsCount: 0 + changeLog: + createdBy: abc@xyz.com + createdByFullName: abc + createdByEmail: abc@xyz.com + createdDateTime: 2021-09-24T06:59:46Z + updatedBy: abc@xyz.com + updatedByFullName: abc + updatedByEmail: abc@xyz.com + updatedDateTime: 2021-09-24T06:59:46Z + deletedBy: abc@xyz.com + deletedByFullName: abc + deletedByEmail: abc@xyz.com + deletedDateTime: 2021-09-24T06:59:46Z + ListFCRPackagesResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + data: + - href: https://api.equinix.com/fabric/v4/routerPackages/LAB + type: ROUTER_PACKAGE + code: LAB + description: string + totalIPv4RoutesMax: 50 + totalIPv6RoutesMax: 50 + staticIPv4RoutesMax: 3 + staticIPv6RoutesMax: 3 + naclsMax: 2 + naclRulesMax: 5 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 50 + changeLog: + createdDateTime: 2022-02-10T00:14:47Z + updatedDateTime: 2022-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/STANDARD + type: ROUTER_PACKAGE + code: STANDARD + description: string + totalIPv4RoutesMax: 1000 + totalIPv6RoutesMax: 100 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 10000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/ADVANCED + type: ROUTER_PACKAGE + code: ADVANCED + description: string + totalIPv4RoutesMax: 4000 + totalIPv6RoutesMax: 250 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 99999 + crCountMax: 3 + vcBandwidthMax: 50000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z + - href: https://api.equinix.com/fabric/v4/routerPackages/PREMIUM + type: ROUTER_PACKAGE + code: PREMIUM + description: string + totalIPv4RoutesMax: 10000 + totalIPv6RoutesMax: 500 + staticIPv4RoutesMax: 150 + staticIPv6RoutesMax: 150 + naclsMax: 60 + naclRulesMax: 1000 + haSupported: true + routeFilterSupported: true + natType: STATIC_NAT + vcCountMax: 10 + crCountMax: 3 + vcBandwidthMax: 50000 + changeLog: + createdDateTime: 2023-02-10T00:14:47Z + updatedDateTime: 2023-02-10T00:14:47Z + healthResponse: + value: + href: null + version: "4.4" + release: 2022.4.0 + description: Equinix Fabric Health Check API + state: HEALTHY + apiServices: + - route: /prices + status: UP + changedDateTime: 2022-10-03T18:37:54.760+00:00 + - route: /connections + status: UP + changedDateTime: 2022-10-03T18:37:56.818+00:00 + - route: /ports + status: UP + changedDateTime: 2022-10-03T18:37:56.886+00:00 + - route: /serviceTokens + status: UP + changedDateTime: 2022-10-03T18:37:56.919+00:00 + - route: /stats + status: UP + changedDateTime: 2022-10-03T18:37:56.951+00:00 + - route: /routers + status: UP + changedDateTime: 2022-10-03T18:37:57.271+00:00 + - route: /serviceProfiles + status: UP + changedDateTime: 2022-10-03T18:38:01.298+00:00 + Request_Alibaba: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - San Jose 2 + Request_AWS: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - us-west-1 + Request_Azure: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + Request_Google: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx/xxx/x + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - us-west-1 + Request_IBM_1: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - San Jose 2 + Request_IBM_2: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - San Jose 2 + Request_Oracle: + value: + filter: + and: + - property: /zSide/accessPoint/authenticationKey + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/profile/uuid + operator: = + values: + - xxx-xxx-xxx + - property: /zSide/accessPoint/sellerRegion + operator: = + values: + - us-ashburn-1 + Dot1q_Vlan: + value: + filter: + and: + - property: /zSide/accessPoint/port/uuid + operator: = + values: + - 77b1b527-1a0f-42eb-9173-6d91723556b8 + - property: /zSide/accessPoint/linkProtocol/vlanTag + operator: = + values: + - "155" + Qinq_Vlan: + value: + filter: + and: + - property: /zSide/accessPoint/port/uuid + operator: = + values: + - 77b1b527-1a0f-42eb-9173-6d91723556b8 + - property: /zSide/accessPoint/linkProtocol/vlanSTag + operator: = + values: + - "155" + - property: /zSide/accessPoint/linkProtocol/vlanCTag + operator: = + values: + - "156" + Response-Alibaba: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-Aws: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-Azure-no-existing-connections: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 50 + redundancy: + priority: PRIMARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-1 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-2 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: PRIMARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-3 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-4 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Azure-1-existing-Dot1q-connection: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 50 + redundancy: + priority: PRIMARY + aside: + accessPoint: + type: COLO + linkProtocol: + type: DOT1Q + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-1 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: COLO + linkProtocol: + type: DOT1Q + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-2 + location: + metroCode: SV + peeringType: PRIVATE + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: COLO + linkProtocol: + type: DOT1Q + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-3 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Azure-1-existing-Qinq-connection: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 500 + redundancy: + priority: PRIMARY + aside: + accessPoint: + type: VD + linkProtocol: + type: QINQ + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-1 + location: + metroCode: SV + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Azure-2-existing-Dot1q-connections: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: CLOUD_ROUTER + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-2 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + - bandwidth: 50 + redundancy: + priority: SECONDARY + aside: + accessPoint: + type: CLOUD_ROUTER + zSide: + accessPoint: + type: COLO + port: + type: XF_PORT + name: Port-Name-3 + location: + metroCode: SV + peeringType: MICROSOFT + linkProtocol: + type: QINQ + vlanSTag: 1003 + Response-Google: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-IBM-1: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-IBM-2: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + Response-Oracle: + value: + additionalInfo: + - key: message + value: Authorization key provided is valid + data: + - bandwidth: 1000 + Response-Dot1q-Vlan: + value: + additionalInfo: + - key: message + value: vlanTag(s) provided is available + Response-Qinq-Vlan: + value: + additionalInfo: + - key: message + value: vlanTag(s) provided is available + ConnectionEvent: + value: + pagination: + offset: 20 + limit: 10 + total: 2 + next: null + previous: null + data: + - href: https://api.equinix.com/fabric/v4/events/4362dbd4-0118-445c-9542-82a35a1a4c70 + type: TRANSACTION_STATUS_AUDIT + uuid: 4362dbd4-0118-445c-9542-82a35a1a4c70 + createdDateTime: 2022-02-03 15:06:09.16835 + additionalInfo: + - key: correlationId + value: testSp + connection: + href: https://api.equinix.com/fabric/v4/connections/f372169c-3e19-413a-849f-7ecc7fc536d7 + type: EVPL_VC + uuid: f372169c-3e19-413a-849f-7ecc7fc536d7 + name: test_connection + transaction: + type: ASSET_CREATION + state: INITIATED + initatedDateTime: 2022-02-03 15:06:09.16835 + duration: PT0S + durationSlo: PT2M20S + stage: + external: true + type: CONNECTION_REQUEST_VALIDATOR + state: INITIATED + initiatedDateTime: 2022-02-03 15:06:09.16835 + completedDateTime: 2022-02-03 15:06:09.16845 + duration: PT10S + durationSlo: PT0S + - href: https://api.equinix.com/fabric/v4/events/4362dbd4-0118-445c-9542-82a35a1a4c70 + type: TRANSACTION_STATUS_AUDIT + uuid: 4362dbd4-0118-445c-9542-82a35a1a4c70 + createdDateTime: 2022-02-03 15:06:09.16835 + additionalInfo: + - key: correlationId + value: testSp + connection: + href: https://api.equinix.com/fabric/v4/connections/f372169c-3e19-413a-849f-7ecc7fc536d7 + type: EVPL_VC + uuid: f372169c-3e19-413a-849f-7ecc7fc536d7 + name: test_connection + transaction: + type: ASSET_CREATION + state: FAILED + initatedDateTime: 2022-02-03 15:06:09.16835 + duration: PT0S + durationSlo: PT2M20S + stage: + external: true + type: CONNECTION_REQUEST_VALIDATOR + state: FAILED + initiatedDateTime: 2022-02-03 15:06:09.16835 + completedDateTime: 2022-02-03 15:06:09.16845 + duration: PT10S + durationSlo: PT0S + errors: + - errorCode: EQ-3142532 + errorMessage: Token with Invalid Status to create connection, Please enter valid ServiceToken + details: Please enter valid ServiceToken UUID. + RoutingProtocolOperationStatusEvent: + value: + pagination: + offset: 10 + limit: 10 + total: 100 + data: + - createdDateTime: 2023-04-01T10:30:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e1 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e1 + type: RP_OPSTATUS_NOTIFICATION + subType: BGP_IPV4_STATE_CHANGE + severity: 5 + message: Neighbor 64.233.197.44 address session state changed to Established + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:29:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e2 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e2 + type: RP_OPSTATUS_NOTIFICATION + subType: BGP_IPV4_ADMIN_ENABLE + severity: 6 + message: Neighbor 64.233.197.44 Administrative Enable successful + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:28:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e3 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e3 + type: RP_OPSTATUS_NOTIFICATION + subType: BGP_IPV4_NEIGHBOR_RESET + severity: 6 + message: Neighbor 64.233.197.44 Administrative Reset successful + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:27:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e4 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e4 + type: RP_CONFIG_NOTIFICATION + subType: BGP_IPV4_CONFIG + severity: 6 + message: Neighbor 64.233.197.44 configuration successful + routingProtocol: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221/routingProtocols/b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + type: BGP + uuid: b3fb4f30-3f5c-4aa7-a003-b2973c9d81e4 + connection: + href: https://api.equinix.com/fabric/v4/connections/ecd30480-07a1-469e-ad38-65fadf0f7221 + type: IP_VC + uuid: ecd30480-07a1-469e-ad38-65fadf0f7221 + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + RoutesQuotaEvent: + value: + pagination: + offset: 10 + limit: 10 + total: 100 + data: + - createdDateTime: 2023-04-01T10:30:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e1 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e1 + type: RP_CONFIG_NOTIFICATION + subType: CLOUD_ROUTER_IPV4_ROUTE_USAGE_REACHED_LIMIT + severity: 2 + message: The Fabric Cloud Router my-fcr-1, UUID :422504a4-286d-44e7-b386-8e385d2e99e1 has reached 100% of the IPv4 maximum routes quota. Avoid a network impact by upgrading the Fabric Cloud Router package. + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + - createdDateTime: 2023-04-01T10:30:00Z + href: https://api.equinix.com/fabric/v4/events/422504a4-286d-44e7-b386-8e385d2e99e1 + uuid: 422504a4-286d-44e7-b386-8e385d2e99e1 + type: RP_CONFIG_NOTIFICATION + subType: CLOUD_ROUTER_IPV4_ROUTE_USAGE_REACHED_THRESHOLD + severity: 4 + message: The Fabric Cloud Router my-fcr-1, UUID :422504a4-286d-44e7-b386-8e385d2e99e1 has reached 90% of the IPv4 maximum routes quota. Avoid a network impact by upgrading the Fabric Cloud Router package. + router: + href: https://api.equinix.com/fabric/v4/routers/e2e99d48-66b8-4b80-84eb-daea190e9186 + type: XF_ROUTER + uuid: e2e99d48-66b8-4b80-84eb-daea190e9186 + CreateGlobalNetwork: + value: + type: EVPLAN + name: My-Network-1 + scope: GLOBAL + project: + projectId: "1234567" + notifications: + - type: ALL + emails: + - test@equinix.com + CreateRegionalNetwork: + value: + type: EVPLAN + name: My-Network-1 + scope: REGIONAL + location: + region: EMEA + project: + projectId: "1234567" + notifications: + - type: ALL + emails: + - test@equinix.com + CreateLocalNetwork: + value: + type: EVPLAN + name: My-Network-1 + scope: LOCAL + project: + projectId: "1234567" + notifications: + - type: ALL + emails: + - test@equinix.com + NetworkPostResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: INACTIVE + change: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/changes/6d500177-9404-41f2-99e8-2bf1a84d8db5 + uuid: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + type: NETWORK_CREATION + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONING + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + NetworkGetResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: ACTIVE + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONED + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + links: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + rel: getConnectionsByNetworkUuid + method: GET + contentType: application/json + authenticate: true + NetworkDeleteResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: INACTIVE + change: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/changes/6d500177-9404-41f2-99e8-2bf1a84d8db5 + uuid: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + type: NETWORK_DELETION + location: + region: EMEA + scope: REGIONAL + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: DEPROVISIONING + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser1 + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + deletedBy: testuser1 + deletedDateTime: 2020-05-21T10:30:00Z + deletedByEmail: testuser@equinix.com + deletedByFullName: testuser testuser + UpdateNetworkName: + value: + - op: replace + path: /name + value: NewName + UpdateNetworkNotifications: + value: + - op: replace + path: /notifications + value: + - type: ALL + emails: + - test1@test.com + - test2@test.com + NetworkPatchResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + name: My-EVPLAN-1 + state: ACTIVE + change: + href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/changes/6d500177-9404-41f2-99e8-2bf1a84d8db5 + uuid: 6d500177-9404-41f2-99e8-2bf1a84d8db5 + type: NETWORK_UPDATE + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "123456" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONED + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + links: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + rel: getConnectionsByNetworkUuid + method: GET + contentType: application/json + authenticate: true + NetworkSearchResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPLAN + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + platformUuid: 19dc376a-a932-43aa-a6a2-c806dedbd730 + name: My-EVPLAN-1 + state: ACTIVE + location: + region: EMEA + scope: REGIONAL + connectionsCount: 0 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + operation: + equinixStatus: PROVISIONED + changeLog: + createdBy: testuser + createdDateTime: 2020-05-21T10:30:00Z + createdByEmail: testuser@equinix.com + createdByFullName: testuser testuser + updatedBy: testuser1 + updatedDateTime: 2020-05-21T10:30:00Z + updatedByEmail: testuser@equinix.com + updatedByFullName: testuser testuser + links: + - href: https://api.equinix.com/fabric/v4/networks/92dc376a-a932-43aa-a6a2-c806dedbd784/connections + rel: getConnectionsByNetworkUuid + method: GET + contentType: application/json + authenticate: true + sort: + - property: /changeLog/updatedDateTime + direction: DESC + GetNetworkConnectionExample: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: IP_VC + uuid: 9b8c5042-b553-4d5e-a2ac-c73bf6d4fd81 + - href: https://api.equinix.com/fabric/v4/connections/38a1eb68-4daf-4ef0-bd7f-6970727b6fc1 + type: IP_VC + uuid: 38a1eb68-4daf-4ef0-bd7f-6970727b6fc1 + 400_invalid_uuid: + value: + - errorCode: EQ-3152004 + errorMessage: Invalid inlput + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Network does not exists with gievn uuid + NetworkChangeResponseExample: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: NETWORK_CREATION + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + - href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/da2a2f1b-9ba0-415b-85d6-234bd4c737ec + type: NETWORK_DELETION + uuid: da2a2f1b-9ba0-415b-85d6-234bd4c737ec + status: REQUESTED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:00Z + NetworkGetChangeResponseExample: + value: + href: https://api.equinix.com/fabric/v4/networks/2a4fb415-5a7f-436f-bae6-02f5e403deec/changes/4b17da68-3d6b-436d-9c8f-2105f3b950d9 + type: NETWORK_CREATION + uuid: 4b17da68-3d6b-436d-9c8f-2105f3b950d9 + status: COMPLETED + createdDateTime: 2020-05-21T10:30:00Z + updatedDateTime: 2020-05-21T10:30:50Z + ntpStandardCreateResponse: + value: + href: https://api.equinix.com/fabric/v4/timeServices/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + name: EPT-Single-Service + type: NTP + state: PROVISIONING + connections: + - href: https://api.equinix.com/fabric/v4/connections/a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: EVPL_VC + uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + code: NTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + account: + accountNumber: 123456 + 400-Mandatory-Name: + value: + - errorCode: EQ-4800011 + errorMessage: Validation Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: /package/protocol + reason: Mandatory field is missing + 400-Invalid-Name: + value: + - errorCode: EQ-4800010 + errorMessage: Validation Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: /name + reason: Invalid name + 400-Validate-Name: + value: + - errorCode: EQ-4800100 + errorMessage: Validation Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + additionalInfo: + - property: /name + reason: The name length should be 3 as minimum. The name should start with characters. Valid characters for a name include letters, numbers, dashes, and underscores + 400-Duplicate-Name: + value: + - errorCode: EQ-4800101 + errorMessage: Service name is already in use + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-ConnectionUUid: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field ConnectionUUid is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-ConnectionUuid-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid connection uuid format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-Status: + value: + - errorCode: EQ-4800102 + errorMessage: Connection should be in Pending Approval state + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-ConnectionUuid: + value: + - errorCode: EQ-4800103 + errorMessage: Connection does not belong to this user + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-Location: + value: + - errorCode: EQ-4800104 + errorMessage: Connection location is not supported by EPT + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-PackageType: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field Package Type is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-PackageType: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Package Type - Allowed types are PTP, NTP + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-PackageType: + value: + - errorCode: EQ-4800105 + errorMessage: Connection Package type is different + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-Package: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field Package is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Package: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Package - Allowed packages are STANDARD, ENTERPRISE + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Connection-Package: + value: + - errorCode: EQ-4800106 + errorMessage: Connection Package is different + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-PrimaryIP: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field PrimaryIP is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-PrimaryIP-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid PrimaryIP format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-PrimaryIP: + value: + - errorCode: EQ-4800107 + errorMessage: Invalid PrimaryIP - only range 10.0.0.0 to 10.255.255.255, 172.16.0.0 to 172.31.255.255, 192.168.0.0 to 192.168.255.255 is allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-SecondaryIP: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field SecondaryIP is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-SecondaryIP-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid SecondaryIP format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-SecondaryIP: + value: + - errorCode: EQ-4800107 + errorMessage: Invalid SecondaryIP - only range 10.0.0.0 to 10.255.255.255, 172.16.0.0 to 172.31.255.255, 192.168.0.0 to 192.168.255.255 is allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-SameSubnet: + value: + - errorCode: EQ-4800108 + errorMessage: Primary and Secondary IPs should be in the same subnet + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Mandatory-NetworkMask: + value: + - errorCode: EQ-4800011 + errorMessage: Mandatory field NetworkMask is missing + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-NetworkMask-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid NetworkMask format + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-NetworkMask: + value: + - errorCode: EQ-4800109 + errorMessage: Invalid NetworkMask - Network mask should not exceed the allowed range of protocol and service tier + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-DefaultGateway-Format: + value: + - errorCode: EQ-4800023 + errorMessage: Invalid DefaultGateway + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-DefaultGateway: + value: + - errorCode: EQ-4800110 + errorMessage: Invalid DefaultGateway- Default Gateway cannot be same as Primary/Secondary IP + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-TimeScale: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid TimeScale - Allowed values are ARB, PTP + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Domain: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Domain- Allowed values are from 0 to 127 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Priority1: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Priority1 - Allowed values are 0 to 248 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Priority2: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Priority2 - Allowed values are 0 to 248 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-LogAnnounceInterval: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid LogAnnounceInterval + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-LogAnnounceInterval-Range: + value: + - errorCode: EQ-4800111 + errorMessage: Invalid LogAnnounceInterval range - Allowed range is -3 to 1 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-LogSyncInterval: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid LogSyncInterval + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-LogSyncInterval-Range: + value: + - errorCode: EQ-4800112 + errorMessage: Invalid LogSyncInterval range - Allowed range is -5 to 1 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-LogDelayReqInterval: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid logDelayReqInterval + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-LogDelayReqInterval-Range: + value: + - errorCode: EQ-4800112 + errorMessage: Invalid logDelayReqInterval range - Allowed range is -5 to 1 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-TransportMode: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid TransportMode - Allowed values are Multicast, Unicast, Hybrid + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-GrantTime: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid GrantTime + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-GrantTime-Range: + value: + - errorCode: EQ-4800113 + errorMessage: Invalid GrantTime range - Allowed range is 30 to 7200 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Type: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Type - Allowed values are ASCII, HEX + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Id: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Id - Only Integers are allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Invalid-Password: + value: + - errorCode: EQ-4800010 + errorMessage: Invalid Password + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + 400-Validate-Password: + value: + - errorCode: EQ-4800114 + errorMessage: Only HEX allowed, chars value length should between 10 - 40 + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + edit: + value: + - op: replace + path: /name + value: EPT-Single-Service + ntpSingleStandard: + value: + name: EPT-Single-Service + type: NTP + connections: + - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + code: NTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + ptpSingleStandard: + value: + name: EPT-Single-Service + type: PTP + connections: + - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + code: PTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + ptpSingleEnterpriseWithAdvanceConfiguration: + value: + name: EPT-Single-Service + type: PTP + connections: + - uuid: 06dbb0e3-e55d-4090-8aff-fc5654abaad0 + package: + code: PTP_STANDARD + ipv4: + primary: 192.168.0.2 + secondary: 192.168.0.3 + networkMask: 255.255.255.255 + defaultGateway: 192.167.0.1 + advanceConfiguration: + ptp: + tailScale: true + domain: 10 + priority1: 5 + priority2: 7 + logAnnounceInterval: 0 + logSyncInterval: 0 + logDelayReqInterval: 0 + serviceConnectionsResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 2 + data: + - href: https://api.equinix.com/fabric/v4/connections/92dc376a-a932-43aa-a6a2-c806dedbd784 + type: EVPL_VC + uuid: 92dc376a-a932-43aa-a6a2-c806dedbd784 + - href: https://api.equinix.com/fabric/v4/connections/42dc376a-a932-43aa-a6a2-d806dedbd783 + type: EVPL_VC + uuid: 42dc376a-a932-43aa-a6a2-d806dedbd783 + servicePackagesResponse: + value: + pagination: + offset: 0 + limit: 20 + total: 4 + data: + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + code: NTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 1 + clientsPerSecondMax: 2000 + accuracyUnit: microseconds + accuracySla: -1 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + - href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_ENTERPRISE + code: NTP_ENTERPRISE + type: TIME_SERVICE_PACKAGE + bandwidth: 5 + clientsPerSecondMax: 1000 + accuracyUnit: microseconds + accuracySla: -1 + accuracyAvgMin: 1 + accuracyAvgMax: 100 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_STANDARD + code: PTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 5 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + - href: https://api.equinix.com/fabric/v4/timeServicePackages/PTP_ENTERPRISE + code: PTP_ENTERPRISE + type: TIME_SERVICE_PACKAGE + bandwidth: 10 + clientsPerSecondMax: 20 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + servicePackageResponse: + value: + href: https://api.equinix.com/fabric/v4/timeServicePackages/NTP_STANDARD + code: NTP_STANDARD + type: TIME_SERVICE_PACKAGE + bandwidth: 10 + clientsPerSecondMax: 100 + accuracyUnit: microseconds + accuracySla: 50 + accuracyAvgMin: 1 + accuracyAvgMax: 10 + redundancySupported: true + multiSubnetSupported: true + changeLog: + createdDateTime: 2023-05-16T07:50:49.749Z + updatedDateTime: 2023-05-17T07:50:49.749Z + get-all-example: + value: + pagination: + offset: 0 + limit: 20 + total: 1 + data: + - uuid: d684aa26-8276-48b7-bb42-a6d9def0a418 + href: https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418 + type: CLOUDEVENT_SUBSCRIPTION + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + changelog: + createdDateTime: 2024-05-06T16:21:18.545214Z + CloudeventSubscriptionPostRequestExample: + value: + type: CLOUDEVENT_SUBSCRIPTION + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + CloudeventSubscriptionResponseExample: + value: + uuid: d684aa26-8276-48b7-bb42-a6d9def0a418 + href: https://api.equinix.com/fabric/v4/cloudEventSubscriptions/d684aa26-8276-48b7-bb42-a6d9def0a418 + type: CLOUDEVENT_SUBSCRIPTION + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + changelog: + createdDateTime: 2024-05-06T16:21:18.545214Z + CloudeventSubscriptionPutRequestExample: + value: + name: slack1 + description: subscription 1 + enabled: true + filters: + and: + - path: subject + operator: LIKE + values: + - "%36276e58-b5a1-4864-ab5e-be10dff9eac1%" + or: [] + - path: equinixproject + operator: IN + values: + - "197607000886247" + or: [] + sink: + uri: https://xxxxxx + type: SLACK + batch: false + maxBatchSize: 50 + maxBatchWaitTime: 5 + headers: + ETag: + description: response header - identifier for a specific version of a resource. + schema: + type: string + securitySchemes: + BearerAuth: + type: http + scheme: bearer + bearerFormat: JWT diff --git a/spec/services/fabricv4/oas3.patched/swagger.yaml.rej b/spec/services/fabricv4/oas3.patched/swagger.yaml.rej new file mode 100644 index 00000000..19af6a54 --- /dev/null +++ b/spec/services/fabricv4/oas3.patched/swagger.yaml.rej @@ -0,0 +1,10 @@ +@@ -9261,6 +9261,9 @@ + description: Port is the Request Object for Creating Fabric Ports + allOf: + - $ref: "#/components/schemas/PortResponse" ++ properties: ++ account: ++ $ref: "#/components/schemas/SimplifiedAccount" + PhysicalPort: + type: object + properties: