Skip to content

feat: API Sync by GitHub Action for @tutkat - #100

Open
github-actions[bot] wants to merge 10 commits into
mainfrom
sync/gh-1786957250
Open

feat: API Sync by GitHub Action for @tutkat#100
github-actions[bot] wants to merge 10 commits into
mainfrom
sync/gh-1786957250

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

This API Sync PR was triggered by @github-actions[bot] through GitHub Actions workflow_dispatch
on 2026-08-17.

  • latest Swagger is fetched
  • patches have been applied
  • generated client has been updated

This PR updates the SDK API Spec Version:
from 4.30 to 4.31

New APIs

  • ApplicationLinksApi - manage Application Links between cloud routers and application services
  • ApplicationServicesApi - manage Application Services
  • ApplicationSubscriptionsApi - manage Application Subscriptions
  • FabricOneApi - Fabric One operations
  • GatewaysApi - manage Gateways
  • LoasApi - manage Letters of Authorization (LOAs)
  • OpticalMetroConnectsApi - manage Optical Metro Connect services

Renamed APIs

  • AgentsApi (agents_api.py) → ApplicationDomainsApi (application_domains_api.py)
  • AgentTemplatesApi (agent_templates_api.py) → InternetExchangeServicesApi (internet_exchange_services_api.py)

Enhanced APIs

  • CloudEventsApi - added search_last_op_events method
  • LogosApi - added create_logo method
  • ServiceProfilesApi - added get_service_profile_environments_by_uuid and get_service_profile_metros_by_uuid methods
  • StreamSubscriptionsApi - added search_stream_subscriptions method
  • StreamsApi - added search_stream_assets and search_streams methods
  • TagsApi - added get_tag_by_uuid method
  • CloudRoutersApi - get_cloud_router_by_uuid return type changed from CloudRouter to CloudRouterReadResponse
  • IPBlocksApi - class renamed from IpBlocksApi to IPBlocksApi; doc string fixes

New Models

AppDomain Models

  • app_domain_attached_app_link, app_domain_attached_app_links
  • app_domain_change, app_domain_change_operation_path, app_domain_change_type
  • app_domain_filter, app_domain_filters, app_domain_or_filter
  • app_domain_search_request, app_domain_simple_expression
  • app_domain_sort_criteria, app_domain_state, app_domain_type

AppLink Models

  • app_link_app_service_attachment, app_link_app_service_attachment_change, app_link_app_service_attachment_change_operation, app_link_app_service_attachment_change_operation_path
  • app_link_attach_domain_filter, app_link_attach_domain_filters, app_link_attach_domain_or_filter, app_link_attach_domain_search_request, app_link_attach_domain_search_response, app_link_attach_domain_simple_expression, app_link_attach_domain_sort_criteria, app_link_attach_domain_sort_direction
  • app_link_attach_service_filter, app_link_attach_service_filters, app_link_attach_service_or_filter, app_link_attach_service_request, app_link_attach_service_search_request, app_link_attach_service_search_response, app_link_attach_service_simple_expression, app_link_attach_service_sort_criteria, app_link_attach_service_sort_direction
  • app_link_attached_app_domain, app_link_attached_app_domains, app_link_attached_app_service, app_link_attached_app_services
  • app_link_change, app_link_change_operation, app_link_change_operation_path, app_link_change_type
  • app_link_cloud_router, app_link_cloud_router_type
  • app_link_filter, app_link_filters, app_link_or_filter, app_link_search_request, app_link_search_response, app_link_simple_expression, app_link_sort_criteria, app_link_sort_direction, app_link_state, app_link_type

AppService Models

  • app_service
  • app_service_attached_app_link, app_service_attached_app_links
  • app_service_attached_app_subscription, app_service_attached_app_subscription_filter, app_service_attached_app_subscription_filters, app_service_attached_app_subscription_or_filter, app_service_attached_app_subscription_search_request, app_service_attached_app_subscription_search_response, app_service_attached_app_subscription_simple_expression, app_service_attached_app_subscription_sort_criteria, app_service_attached_app_subscription_sort_direction, app_service_attached_app_subscriptions
  • app_service_change, app_service_change_operation, app_service_change_operation_path, app_service_change_type
  • app_service_filter, app_service_filters, app_service_or_filter, app_service_search_request, app_service_search_response, app_service_simple_expression, app_service_sort_criteria, app_service_type

AppSubscription Models

  • app_subscription, app_subscription_change, app_subscription_change_type
  • app_subscription_filter, app_subscription_filters, app_subscription_or_filter
  • app_subscription_post_request, app_subscription_prioritization, app_subscription_search_request, app_subscription_simple_expression, app_subscription_sort_criteria, app_subscription_sort_direction
  • app_subscription_source, app_subscription_source_app_link, app_subscription_source_request, app_subscription_source_request_app_link
  • app_subscription_state, app_subscription_target, app_subscription_target_app_service, app_subscription_target_request, app_subscription_target_request_app_service, app_subscription_type

Company Profile Models

  • company_profile_contact, company_profile_contact_contacts, company_profile_contact_type
  • company_profile_search_field_name, company_profile_search_filters, company_profile_search_or_filter, company_profile_search_simple_expression

Exchange Service Models

  • exchange_service_and_expression, exchange_service_or_expression
  • exchange_service_notification, exchange_service_notification_type
  • exchange_service_property_expression, exchange_service_property_expression_operator, exchange_service_property_expression_property
  • exchange_service_response, exchange_service_response_state, exchange_service_response_type
  • exchange_service_search_expression, exchange_service_search_request, exchange_service_search_response
  • exchange_service_search_sort_criteria, exchange_service_search_sort_criteria_direction, exchange_service_search_sort_criteria_property

Gateway Models

  • gateway, gateway_change_operation, gateway_ipv4, gateway_post_request, gateway_state, gateway_type

Interconnect Models

  • all_interconnect_packages_response, interconnect, interconnect_filter, interconnect_location, interconnect_location_request
  • interconnect_notification_type, interconnect_package, interconnect_post_request, interconnect_post_request_type
  • interconnect_router, interconnect_router_type, interconnect_search_field_name, interconnect_search_request, interconnect_search_response
  • interconnect_sort_by, interconnect_sort_by_response, interconnect_sort_criteria, interconnect_sort_criteria_response, interconnect_sort_direction, interconnect_sort_direction_response, interconnect_state

LOA Models

  • create_loa, create_loa_note, issue_loa
  • loa_action_data, loa_action_field_name, loa_action_filter, loa_action_or_filter, loa_action_request, loa_action_response
  • loa_action_search_filters, loa_action_search_request, loa_action_search_response, loa_action_search_simple_expressions, loa_action_search_simple_expressions_operator
  • loa_action_sort_criteria, loa_action_sort_criteria_property
  • loa_changelog, loa_consumers_response, loa_demarcation_point, loa_field_name, loa_filter, loa_issuer
  • loa_note_details, loa_note_details_type, loa_patch_panel_connector_type, loa_product_type, loa_replace_operation
  • loa_request, loa_requestor, loa_response, loa_response_operation
  • loa_search_filters, loa_search_request, loa_search_response, loa_simple_expression, loa_simple_expression_operator
  • loa_sort_criteria, loa_sort_criteria_property

Optical Connect Models

  • bulk_optical_connect_request, optical_connect_bulk
  • optical_connect_a_side_request, optical_connect_a_side_response, optical_connect_z_side_request, optical_connect_z_side_response
  • optical_connect_connection_destination_type, optical_connect_filter, optical_connect_filters, optical_connect_location
  • optical_connect_notification, optical_connect_notification_type
  • optical_connect_or_filter, optical_connect_order
  • optical_connect_patch_panel_fields, optical_connect_patch_panel_fields_connector_type
  • optical_connect_post_request, optical_connect_post_request_bmmr_type, optical_connect_post_request_connection_destination_type, optical_connect_post_request_path_type
  • optical_connect_price, optical_connect_price_a_side, optical_connect_price_path_type, optical_connect_price_z_side
  • optical_connect_redundancy_priority
  • optical_connect_response, optical_connect_response_bmmr_type, optical_connect_response_connection_destination_type, optical_connect_response_path_type, optical_connect_response_type
  • optical_connect_search_request, optical_connect_service_search_response, optical_connect_simple_expression
  • optical_connect_sort_by, optical_connect_sort_criteria, optical_connect_sort_direction, optical_connect_state

Stream / Stream Subscription Models

  • stream_search_asset, stream_search_filter, stream_search_filters, stream_search_or_filter, stream_search_request, stream_search_simple_expression, stream_search_sort_by, stream_search_sort_direction
  • stream_subscription_search_filter, stream_subscription_search_filters, stream_subscription_search_or_filter, stream_subscription_search_request, stream_subscription_search_simple_expression, stream_subscription_search_sort_by, stream_subscription_search_sort_criteria, stream_subscription_search_sort_direction
  • search_stream_asset_response, search_stream_subscription_response

Other New Models

  • account, activation_key_details, add_operation_op, address
  • cloud_router_read_response, cloud_router_read_response_type
  • contact_preference, contact_preference_availability
  • environment_action_request, environment_action_state_enum, environment_action_type_enum
  • internet_access_routing_protocol_bgp_request_asn
  • maintenance_state, operational_event_filters, operational_event_simple_expression
  • operator_enum, phone, phone_type, port_expression_operator
  • product_offering, provider_environments, remove_operation_op
  • route_collector, router, routing_protocol_response
  • search_operational_event_response, service_profile_last_mile_api_integration
  • style, tag_response_state
  • attached_app_domain_order, attached_app_link_order, attached_app_service_order, attached_app_subscription_order

Renamed Models

These are git-detected renames (content similarity ≥ 56%); the old names belonged to removed feature areas and have been replaced by new model names:

Old name New name
agent loa_location
agents app_link
agent_activities environment_action_response
agent_activities_metadata request_loa
agent_definition app_link_post_request_router
agent_get_activities app_subscription_search_response
agent_get_all_response search_stream_response
agent_patch_request app_subscription_change_operation
agent_post_request app_link_post_request
agent_template optical_connect_loa
agent_template_get_all_response app_domain_search_response
agent_templates app_domain
agent_templates_state app_service_state
attach_logo_response loa_consumer
bulk_port_request loa_notes_response
chat_message loa_or_filter
company_profile_action_request internet_access_routing_protocol_bgp_asn
configuration optical_connect_price_location
connection_company_profile stream_search_sort_criteria
gateway_attachment_list_response operational_event_search_request
gateway_attachment_response app_link_app_domain_attachment
gateway_attachment_response_attachment_status app_link_attach_state
gateway_attachment_response_type optical_connect_post_request_type
get_all_stream_asset_response search_stream_asset_response
ip_block_and_query_operator app_service_sort_direction
json_patch_operation service_profile_update_operation
last_mile_config app_service_post_request
last_mile_notification_info interconnect_notification
logo_request stream_search_filters
messages_inner public_peering_connection_response
network_filter_operator interconnect_filter_operator
op_enum loa_op_enum
patch_operation app_domain_change_operation
patch_operation_op replace_operation_op
rf_attachment_sort_item_direction app_domain_sort_direction
service_profile_last_mile_address app_domain_post_request
service_profile_last_mile_notification exchange_service_response_bgp
tool_call_information_inner optical_connect_redundancy

Breaking Changes

  • CloudRoutersApi: get_cloud_router_by_uuid return type changed from CloudRouter to CloudRouterReadResponse
  • IPBlocksApi: class renamed from IpBlocksApi to IPBlocksApi — any code importing IpBlocksApi must be updated

Additional Fixes (post-generation)

  • Fixed SLASH_ prefix incorrectly included in sort criteria enum default values in 7 model files
  • Removed committed .rej patch files and restored missing patch hunks for 5 sort criteria model files
  • Fixed IPBlocksApi class name in test helper (was IpBlocksApi)
  • Fixed EIA test teardown and added retry on HTTP 500 for service create

@github-actions
github-actions Bot requested a review from a team as a code owner August 17, 2026 09:00
@tutkat
tutkat requested a review from a team as a code owner August 17, 2026 11:06
- teardown_class now calls _delete_eia_service before waiting, so the
  service is cleaned up even when test_5_delete did not run
- retry EIA create up to 3 times on HTTP 500 (server has transient errors)
- coerce account_number/account_number_eia to str to handle integer values
  in test data JSON
tng1-equinix
tng1-equinix previously approved these changes Aug 18, 2026
Comment thread .github/workflows/label-sync-prs.yaml Outdated

jobs:
label:
if: startsWith(github.head_ref, 'sync/')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I recommend reverting the changes to the .github/workflows directory so that they can be reviewed in a separate PR. I don't think the changes implemented here will work the way you expect them to, and it would be better to get the API sync updates in place without blocking them on these workflow changes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@@ -1,27 +1,115 @@
diff --git a/equinix/services/fabricv4/models/port_sort_criteria.py b/equinix/services/fabricv4/models/port_sort_criteria.py

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this patch work around a bug in the openapi-generator? Or is it addressing an issue in the spec? Is the issue present across all SDKs or is it specific to Python?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was issue in api spec. it was fixed so diff is not required here anymore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants