diff --git a/ENDPOINTS.md b/ENDPOINTS.md index 7d885b19..4599f4af 100644 --- a/ENDPOINTS.md +++ b/ENDPOINTS.md @@ -1,6 +1,6 @@ **THIS FILE WAS AUTO-GENERATED DO NOT EDIT** -Generated for: catalystwan-0.33.7.dev2 +Generated for: catalystwan-0.33.7.dev3 All URIs are relative to */dataservice* HTTP request | Supported Versions | Method | Payload Type | Return Type | Tenancy Mode @@ -57,7 +57,7 @@ GET /disasterrecovery/status||[**ConfigurationDisasterRecovery.get_dr_status**]( POST /disasterrecovery/pause||[**ConfigurationDisasterRecovery.pause_dr**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L239)||[**DisasterRecoveryPauseResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L59)| POST /disasterrecovery/register||[**ConfigurationDisasterRecovery.register**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L255)|[**DisasterRecoveryRegisterPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L89)|[**RegisterDisasterRecoveryTaskId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L18)| POST /disasterrecovery/unpause||[**ConfigurationDisasterRecovery.unpause_dr**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L267)||[**UnpauseDisasterRecoveryTaskId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/disaster_recovery.py#L30)| -GET /v1/feature-profile/sdwan/cli||[**CliFeatureProfile.get_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py#L21)|Optional[[**GetFeatureProfilesPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L115)]|DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| +GET /v1/feature-profile/sdwan/cli||[**CliFeatureProfile.get_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py#L21)|Optional[[**GetFeatureProfilesParams**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L115)]|DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| POST /v1/feature-profile/sdwan/cli||[**CliFeatureProfile.create_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py#L26)|[**FeatureProfileCreationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L89)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| DELETE /v1/feature-profile/sdwan/cli/{profile_id}||[**CliFeatureProfile.delete_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py#L31)||None| GET /v1/feature-profile/sdwan/cli/{profile_id}/config||[**CliFeatureProfile.get_all**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py#L36)||DataSequence[[**Parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L137)]| @@ -77,7 +77,7 @@ GET /v1/feature-profile/sdwan/sig-security/{profile_id}/sig/{parcel_id}|>=20.12| PUT /v1/feature-profile/sdwan/sig-security/{profile_id}/sig/{parcel_id}|>=20.12|[**SIGSecurity.edit_sig_security_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/sig_security.py#L80)|[**SIGParcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/sdwan/sig_security/sig_security.py#L359)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| DELETE /v1/feature-profile/sdwan/sig-security/{profile_id}/sig/{parcel_id}|>=20.12|[**SIGSecurity.delete_sig_security_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/sig_security.py#L85)||None| GET /v1/feature-profile/sdwan/system/{parcel_type}/schema|>=20.9|[**SystemFeatureProfile.get_schema**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py#L33)||None| -GET /v1/feature-profile/sdwan/system|>=20.9|[**SystemFeatureProfile.get_sdwan_system_feature_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py#L38)|Optional[[**GetFeatureProfilesPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L115)]|DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| +GET /v1/feature-profile/sdwan/system|>=20.9|[**SystemFeatureProfile.get_sdwan_system_feature_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py#L38)|Optional[[**GetFeatureProfilesParams**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L115)]|DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| POST /v1/feature-profile/sdwan/system|>=20.9|[**SystemFeatureProfile.create_sdwan_system_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py#L45)|[**FeatureProfileCreationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L89)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| DELETE /v1/feature-profile/sdwan/system/{profile_id}|>=20.9|[**SystemFeatureProfile.delete_sdwan_system_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py#L52)||None| POST /v1/feature-profile/sdwan/system/{profile_id}/aaa|>=20.9|[**SystemFeatureProfile.create_aaa_profile_parcel_for_system**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py#L57)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L185)| @@ -124,23 +124,23 @@ GET /v1/feature-profile/sdwan/topology/custom-control/schema|>=20.9|[**TopologyF POST /v1/feature-profile/sdwan/transport|>=20.12|[**TransportFeatureProfile.create_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L33)|[**FeatureProfileCreationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L89)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| GET /v1/feature-profile/sdwan/transport|>=20.12|[**TransportFeatureProfile.get_transport_feature_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L40)||DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| GET /v1/feature-profile/sdwan/transport/{profile_id}|>=20.12|[**TransportFeatureProfile.get_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L45)||[**FeatureProfileDetail**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L69)| -PUT /v1/feature-profile/sdwan/transport/{profile_id}|>=20.12|[**TransportFeatureProfile.edit_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L52)|[**FeatureProfileEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L95)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| -DELETE /v1/feature-profile/sdwan/transport/{profile_id}|>=20.12|[**TransportFeatureProfile.delete_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L59)||None| -POST /v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.create_transport_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L64)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| -POST /v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.create_transport_vpn_sub_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L71)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| -POST /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{vpn_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.create_management_vpn_sub_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L78)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| -GET /v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.get_transport_parcels**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L85)||DataSequence[[**Parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L137)]| -GET /v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}/{parcel_id}|>=20.12|[**TransportFeatureProfile.get_transport_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L90)||[**Parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L137)| -POST /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn|>=20.12|[**TransportFeatureProfile.create_management_vpn_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L98)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| -PUT /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}|>=20.12|[**TransportFeatureProfile.edit_management_vpn_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L113)|[**ManagementVpnParcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/sdwan/transport/vpn.py#L166)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| -DELETE /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}|>=20.12|[**TransportFeatureProfile.delete_management_vpn_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L120)||None| -GET /v1/feature-profile/sdwan/transport|>=20.9|[**TransportFeatureProfile.get_sdwan_transport_feature_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L125)|Optional[[**GetFeatureProfilesPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L115)]|DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| -GET /v1/feature-profile/sdwan/transport/cellular-controller/schema|>=20.9|[**TransportFeatureProfile.get_sdwan_transport_cellular_controller_parcel_schema**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L132)||None| -POST /v1/feature-profile/sdwan/transport|>=20.9|[**TransportFeatureProfile.create_sdwan_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L137)|[**FeatureProfileCreationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L89)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| -DELETE /v1/feature-profile/sdwan/transport/{transport_id}|>=20.9|[**TransportFeatureProfile.delete_sdwan_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L144)||None| -POST /v1/feature-profile/sdwan/transport/{transport_id}/cellular-controller|>=20.9|[**TransportFeatureProfile.create_cellular_controller_profile_parcel_for_transport**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L149)|[**CellularControllerParcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_controller.py#L38)|[**ParcelId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L185)| -POST /v1/feature-profile/sdwan/transport/{profile_id}/cellular-controller/{cellular_controler_id}/{parcel_type}|>=20.9|[**TransportFeatureProfile.associate_with_cellular_controller**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L160)|[**ParcelAssociationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L180)|[**ParcelId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L185)| -POST /v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}|>=20.9|[**TransportFeatureProfile.associate_with_vpn**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L171)|[**ParcelAssociationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L180)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| +PUT /v1/feature-profile/sdwan/transport/{profile_id}|>=20.12|[**TransportFeatureProfile.edit_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L50)|[**FeatureProfileEditPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L95)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| +DELETE /v1/feature-profile/sdwan/transport/{profile_id}|>=20.12|[**TransportFeatureProfile.delete_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L57)||None| +POST /v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.create_transport_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L62)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| +POST /v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.create_transport_vpn_sub_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L69)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| +POST /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{vpn_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.create_management_vpn_sub_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L76)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| +GET /v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}|>=20.12|[**TransportFeatureProfile.get_transport_parcels**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L83)||DataSequence[[**Parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L137)]| +GET /v1/feature-profile/sdwan/transport/{profile_id}/{parcel_type}/{parcel_id}|>=20.12|[**TransportFeatureProfile.get_transport_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L88)||[**Parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L137)| +POST /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn|>=20.12|[**TransportFeatureProfile.create_management_vpn_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L96)|[**_ParcelBase**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/api/configuration_groups/parcel.py#L23)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| +PUT /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}|>=20.12|[**TransportFeatureProfile.edit_management_vpn_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L111)|[**ManagementVpnParcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/sdwan/transport/vpn.py#L166)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| +DELETE /v1/feature-profile/sdwan/transport/{profile_id}/management/vpn/{parcel_id}|>=20.12|[**TransportFeatureProfile.delete_management_vpn_parcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L118)||None| +GET /v1/feature-profile/sdwan/transport|>=20.9|[**TransportFeatureProfile.get_sdwan_transport_feature_profiles**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L123)|Optional[[**GetFeatureProfilesParams**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L115)]|DataSequence[[**FeatureProfileInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L56)]| +GET /v1/feature-profile/sdwan/transport/cellular-controller/schema|>=20.9|[**TransportFeatureProfile.get_sdwan_transport_cellular_controller_parcel_schema**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L130)||None| +POST /v1/feature-profile/sdwan/transport|>=20.9|[**TransportFeatureProfile.create_sdwan_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L135)|[**FeatureProfileCreationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L89)|[**FeatureProfileCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/common.py#L100)| +DELETE /v1/feature-profile/sdwan/transport/{transport_id}|>=20.9|[**TransportFeatureProfile.delete_sdwan_transport_feature_profile**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L142)||None| +POST /v1/feature-profile/sdwan/transport/{transport_id}/cellular-controller|>=20.9|[**TransportFeatureProfile.create_cellular_controller_profile_parcel_for_transport**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L147)|[**CellularControllerParcel**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/sdwan/transport/cellular_controller.py#L38)|[**ParcelId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L185)| +POST /v1/feature-profile/sdwan/transport/{profile_id}/cellular-controller/{cellular_controler_id}/{parcel_type}|>=20.9|[**TransportFeatureProfile.associate_with_cellular_controller**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L158)|[**ParcelAssociationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L180)|[**ParcelId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L185)| +POST /v1/feature-profile/sdwan/transport/{profile_id}/wan/vpn/{vpn_id}/{parcel_type}|>=20.9|[**TransportFeatureProfile.associate_with_vpn**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py#L169)|[**ParcelAssociationPayload**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L180)|[**ParcelCreationResponse**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/feature_profile/parcel.py#L174)| GET /v1/network-hierarchy|>=20.10|[**NetworkHierarchy.list_nodes**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/network_hierarchy.py#L10)||DataSequence[[**NodeInfo**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/configuration/network_hierarchy.py#L78)]| POST /template/policy/definition/acl||[**ConfigurationPolicyAclDefinition.create_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L23)|[**AclPolicy**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/definition/access_control_list.py#L147)|[**PolicyDefinitionId**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/models/policy/policy_definition.py#L1163)| DELETE /template/policy/definition/acl/{id}||[**ConfigurationPolicyAclDefinition.delete_policy_definition**](https://github.com/cisco-open/cisco-catalyst-wan-sdk/blob/main/catalystwan/endpoints/configuration/policy/definition/access_control_list.py#L27)||None| diff --git a/catalystwan/api/feature_profile_api.py b/catalystwan/api/feature_profile_api.py index c19b47e5..c4bde5a0 100644 --- a/catalystwan/api/feature_profile_api.py +++ b/catalystwan/api/feature_profile_api.py @@ -74,7 +74,7 @@ FeatureProfileCreationPayload, FeatureProfileCreationResponse, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, GetReferenceCountFeatureProfilesPayload, ) from catalystwan.models.configuration.feature_profile.parcel import ( @@ -216,7 +216,7 @@ def get_profiles( """ Get all Transport Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_transport_feature_profiles(payload) @@ -322,7 +322,7 @@ def get_profiles( """ Get all Other Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_sdwan_other_feature_profiles(payload) @@ -389,7 +389,7 @@ def get_profiles( """ Get all Service Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_sdwan_service_feature_profiles(payload) @@ -445,7 +445,7 @@ def get_profiles( """ Get all System Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_sdwan_system_feature_profiles(payload) @@ -813,6 +813,12 @@ def __init__(self, session: ManagerSession): def get_profiles(self) -> DataSequence[FeatureProfileInfo]: return self.endpoint.get_profiles() + def create_profile(self, profile: FeatureProfileCreationPayload) -> FeatureProfileCreationResponse: + return self.endpoint.create_profile() + + def delete_profile(self, profile_id: UUID) -> None: + return self.endpoint.delete_profile(profile_id=profile_id) + @overload def get( self, profile_id: UUID, parcel_type: Type[AdvancedInspectionProfileParcel] @@ -1202,7 +1208,7 @@ def get_profiles( """ Get all Embedded Security Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_embedded_security_feature_profiles(payload) @@ -1312,7 +1318,7 @@ def get_profiles( """ Get all CLI Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_profiles(payload) @@ -1373,7 +1379,7 @@ def get_profiles( """ Get all DNS Security Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_dns_security_feature_profiles(payload) @@ -1486,7 +1492,7 @@ def get_profiles( """ Get all Application Priority Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit if limit else None, offset=offset if offset else None) + payload = GetFeatureProfilesParams(limit=limit if limit else None, offset=offset if offset else None) return self.endpoint.get_application_priority_feature_profiles(payload) @@ -1613,7 +1619,7 @@ def get_profiles( """ Get all Topology Feature Profiles """ - payload = GetFeatureProfilesPayload(limit=limit, offset=offset) + payload = GetFeatureProfilesParams(limit=limit, offset=offset) return self.endpoint.get_topology_feature_profiles(payload) def create_profile(self, name: str, description: str) -> FeatureProfileCreationResponse: diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py index 0243efd6..74685b1f 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/application_priority.py @@ -10,7 +10,7 @@ FeatureProfileDetail, FeatureProfileEditPayload, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse from catalystwan.models.configuration.feature_profile.sdwan.application_priority import AnyApplicationPriorityParcel @@ -28,14 +28,14 @@ def create_application_priority_feature_profile( @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/application-priority") def get_application_priority_feature_profiles( - self, params: GetFeatureProfilesPayload + self, params: GetFeatureProfilesParams ) -> DataSequence[FeatureProfileInfo]: ... @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/application-priority/{profile_id}") def get_application_priority_feature_profile( - self, profile_id: str, params: GetFeatureProfilesPayload + self, profile_id: str, params: GetFeatureProfilesParams ) -> FeatureProfileDetail: ... diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py index 68bf97b5..ab92849e 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/cli.py @@ -9,7 +9,7 @@ FeatureProfileCreationPayload, FeatureProfileCreationResponse, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelId from catalystwan.models.configuration.feature_profile.sdwan.cli import ConfigParcel @@ -19,7 +19,7 @@ class CliFeatureProfile(APIEndpoints): # @versions(supported_versions=(">=20.9"), raises=False) @get("/v1/feature-profile/sdwan/cli") - def get_profiles(self, payload: Optional[GetFeatureProfilesPayload]) -> DataSequence[FeatureProfileInfo]: + def get_profiles(self, payload: Optional[GetFeatureProfilesParams]) -> DataSequence[FeatureProfileInfo]: ... # @versions(supported_versions=(">=20.9"), raises=False) diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py index 07836c58..c9550509 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/dns_security.py @@ -10,7 +10,7 @@ FeatureProfileDetail, FeatureProfileEditPayload, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse from catalystwan.models.configuration.feature_profile.sdwan.dns_security import AnyDnsSecurityParcel @@ -27,13 +27,13 @@ def create_dns_security_feature_profile( @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/dns-security") - def get_dns_security_feature_profiles(self, params: GetFeatureProfilesPayload) -> DataSequence[FeatureProfileInfo]: + def get_dns_security_feature_profiles(self, params: GetFeatureProfilesParams) -> DataSequence[FeatureProfileInfo]: ... @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/dns-security/{profile_id}") def get_dns_security_feature_profile( - self, profile_id: str, params: GetFeatureProfilesPayload + self, profile_id: str, params: GetFeatureProfilesParams ) -> FeatureProfileDetail: ... diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py index 883a7369..e898d9b4 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/embedded_security.py @@ -10,7 +10,7 @@ FeatureProfileDetail, FeatureProfileEditPayload, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse from catalystwan.models.configuration.feature_profile.sdwan.embedded_security import ( @@ -31,14 +31,14 @@ def create_embedded_security_feature_profile( @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/embedded-security") def get_embedded_security_feature_profiles( - self, params: GetFeatureProfilesPayload + self, params: GetFeatureProfilesParams ) -> DataSequence[FeatureProfileInfo]: ... @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/embedded-security/{profile_id}") def get_embedded_security_feature_profile( - self, profile_id: str, params: GetFeatureProfilesPayload + self, profile_id: str, params: GetFeatureProfilesParams ) -> FeatureProfileDetail: ... diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/other.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/other.py index 56cff5bc..a210a8ee 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/other.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/other.py @@ -10,7 +10,7 @@ FeatureProfileCreationPayload, FeatureProfileCreationResponse, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelId from catalystwan.typed_list import DataSequence @@ -20,7 +20,7 @@ class OtherFeatureProfile(APIEndpoints): @versions(supported_versions=(">=20.9"), raises=False) @get("/v1/feature-profile/sdwan/other") def get_sdwan_other_feature_profiles( - self, payload: Optional[GetFeatureProfilesPayload] + self, payload: Optional[GetFeatureProfilesParams] ) -> DataSequence[FeatureProfileInfo]: ... diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py index a21005b3..06392e47 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/policy_object.py @@ -4,7 +4,12 @@ from uuid import UUID from catalystwan.endpoints import APIEndpoints, delete, get, post, put, versions -from catalystwan.models.configuration.feature_profile.common import FeatureProfileInfo, GetFeatureProfilesPayload +from catalystwan.models.configuration.feature_profile.common import ( + FeatureProfileCreationPayload, + FeatureProfileCreationResponse, + FeatureProfileInfo, + GetFeatureProfilesParams, +) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse from catalystwan.models.configuration.feature_profile.sdwan.policy_object import AnyPolicyObjectParcel from catalystwan.typed_list import DataSequence @@ -14,10 +19,20 @@ class PolicyObjectFeatureProfile(APIEndpoints): @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/policy-object") def get_profiles( - self, params: GetFeatureProfilesPayload = GetFeatureProfilesPayload() + self, params: GetFeatureProfilesParams = GetFeatureProfilesParams() ) -> DataSequence[FeatureProfileInfo]: ... + @versions(supported_versions=(">=20.12"), raises=False) + @post("/v1/feature-profile/sdwan/policy-object") + def create_profile(self, payload: FeatureProfileCreationPayload) -> FeatureProfileCreationResponse: + ... + + @versions(supported_versions=(">=20.12"), raises=False) + @delete("/v1/feature-profile/sdwan/policy-object/{profile_id}") + def delete_profile(self, profile_id: UUID) -> None: + ... + @versions(supported_versions=(">=20.12"), raises=False) @post("/v1/feature-profile/sdwan/policy-object/{profile_id}/{policy_object_list_type}") def create( diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/service.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/service.py index 1d6f6629..a8dfe840 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/service.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/service.py @@ -9,7 +9,7 @@ FeatureProfileCreationPayload, FeatureProfileCreationResponse, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, ) from catalystwan.models.configuration.feature_profile.parcel import ParcelAssociationPayload, ParcelCreationResponse from catalystwan.models.configuration.feature_profile.sdwan.service import ( @@ -23,7 +23,7 @@ class ServiceFeatureProfile(APIEndpoints): @versions(supported_versions=(">=20.9"), raises=False) @get("/v1/feature-profile/sdwan/service") def get_sdwan_service_feature_profiles( - self, payload: Optional[GetFeatureProfilesPayload] + self, payload: Optional[GetFeatureProfilesParams] ) -> DataSequence[FeatureProfileInfo]: ... diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py index 4ba049a7..fd27239c 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/system.py @@ -10,7 +10,7 @@ FeatureProfileCreationPayload, FeatureProfileCreationResponse, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, SchemaTypeQuery, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelId @@ -38,7 +38,7 @@ def get_schema(self, parcel_type: str, params: SchemaTypeQuery) -> JSON: @versions(supported_versions=(">=20.9"), raises=False) @get("/v1/feature-profile/sdwan/system") def get_sdwan_system_feature_profiles( - self, payload: Optional[GetFeatureProfilesPayload] + self, payload: Optional[GetFeatureProfilesParams] ) -> DataSequence[FeatureProfileInfo]: ... diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py index fc7fd9f7..8725f086 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/topology.py @@ -11,7 +11,7 @@ FeatureProfileDetail, FeatureProfileEditPayload, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, SchemaTypeQuery, ) from catalystwan.models.configuration.feature_profile.parcel import Parcel, ParcelCreationResponse @@ -27,12 +27,12 @@ def create_topology_feature_profile(self, payload: FeatureProfileCreationPayload @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/topology") - def get_topology_feature_profiles(self, params: GetFeatureProfilesPayload) -> DataSequence[FeatureProfileInfo]: + def get_topology_feature_profiles(self, params: GetFeatureProfilesParams) -> DataSequence[FeatureProfileInfo]: ... @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/topology/{profile_id}") - def get_topology_feature_profile(self, profile_id: str, params: GetFeatureProfilesPayload) -> FeatureProfileDetail: + def get_topology_feature_profile(self, profile_id: str, params: GetFeatureProfilesParams) -> FeatureProfileDetail: ... @versions(supported_versions=(">=20.12"), raises=False) diff --git a/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py b/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py index 0e076baa..a31ba997 100644 --- a/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py +++ b/catalystwan/endpoints/configuration/feature_profile/sdwan/transport.py @@ -12,7 +12,7 @@ FeatureProfileDetail, FeatureProfileEditPayload, FeatureProfileInfo, - GetFeatureProfilesPayload, + GetFeatureProfilesParams, SchemaTypeQuery, ) from catalystwan.models.configuration.feature_profile.parcel import ( @@ -39,14 +39,12 @@ def create_transport_feature_profile( @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/transport") - def get_transport_feature_profiles(self, params: GetFeatureProfilesPayload) -> DataSequence[FeatureProfileInfo]: + def get_transport_feature_profiles(self, params: GetFeatureProfilesParams) -> DataSequence[FeatureProfileInfo]: ... @versions(supported_versions=(">=20.12"), raises=False) @get("/v1/feature-profile/sdwan/transport/{profile_id}") - def get_transport_feature_profile( - self, profile_id: UUID, params: GetFeatureProfilesPayload - ) -> FeatureProfileDetail: + def get_transport_feature_profile(self, profile_id: UUID, params: GetFeatureProfilesParams) -> FeatureProfileDetail: ... @versions(supported_versions=(">=20.12"), raises=False) @@ -125,7 +123,7 @@ def delete_management_vpn_parcel(self, profile_id: UUID, parcel_id: str) -> None @versions(supported_versions=(">=20.9"), raises=False) @get("/v1/feature-profile/sdwan/transport") def get_sdwan_transport_feature_profiles( - self, payload: Optional[GetFeatureProfilesPayload] + self, payload: Optional[GetFeatureProfilesParams] ) -> DataSequence[FeatureProfileInfo]: ... diff --git a/catalystwan/models/configuration/config_migration.py b/catalystwan/models/configuration/config_migration.py index 66299c5a..4362cdf1 100644 --- a/catalystwan/models/configuration/config_migration.py +++ b/catalystwan/models/configuration/config_migration.py @@ -476,7 +476,6 @@ class PolicyConvertContext: def from_configs( network_hierarchy: List[NodeInfo], transformed_parcels: List[TransformedParcel], - policy_list_infos: List[AnyPolicyListInfo], ) -> "PolicyConvertContext": context = PolicyConvertContext() for node in network_hierarchy: diff --git a/catalystwan/models/configuration/feature_profile/common.py b/catalystwan/models/configuration/feature_profile/common.py index be25ad1a..49623ef2 100644 --- a/catalystwan/models/configuration/feature_profile/common.py +++ b/catalystwan/models/configuration/feature_profile/common.py @@ -112,12 +112,12 @@ class SchemaTypeQuery(BaseModel): schema_type: SchemaType = Field(alias="schemaType") -class GetFeatureProfilesPayload(BaseModel): +class GetFeatureProfilesParams(BaseModel): limit: Optional[int] = None offset: Optional[int] = None -class GetReferenceCountFeatureProfilesPayload(GetFeatureProfilesPayload): +class GetReferenceCountFeatureProfilesPayload(GetFeatureProfilesParams): model_config = ConfigDict(populate_by_name=True) reference_count: Optional[bool] = Field(serialization_alias="referenceCount", validation_alias="referenceCount") diff --git a/catalystwan/utils/config_migration/creators/config_pusher.py b/catalystwan/utils/config_migration/creators/config_pusher.py index acaf4977..0064196a 100644 --- a/catalystwan/utils/config_migration/creators/config_pusher.py +++ b/catalystwan/utils/config_migration/creators/config_pusher.py @@ -14,7 +14,7 @@ UX2Config, UX2ConfigPushResult, ) -from catalystwan.models.configuration.feature_profile.common import ProfileType +from catalystwan.models.configuration.feature_profile.common import FeatureProfileCreationPayload, ProfileType from catalystwan.models.configuration.feature_profile.parcel import AnyParcel, Parcel, list_types from catalystwan.models.configuration.feature_profile.sdwan.policy_object import AnyPolicyObjectParcel from catalystwan.models.configuration.feature_profile.sdwan.topology.custom_control import CustomControlParcel @@ -54,7 +54,7 @@ def _create_config_map(self, ux2_config: UX2Config) -> ConfigurationMapping: def push(self) -> UX2ConfigPushResult: self._create_cloud_credentials() self._create_config_groups() - dpop = self._get_default_policy_object_profile() + dpop = self._get_or_create_default_policy_object_profile() self._insert_groups_of_interest_in_default_policy_object_profile(dpop) self._create_topology_groups(dpop) # needs to be executed after vpn parcels and groups of interests are created self._push_result.report.set_failed_push_parcels_flat_list() @@ -102,9 +102,14 @@ def _create_config_groups(self): feature_profiles=created_profiles, ) - def _get_default_policy_object_profile(self) -> UUID: + def _get_or_create_default_policy_object_profile(self) -> UUID: api = self._session.api.sdwan_feature_profiles.policy_object - profile_id = api.get_profiles().find(solution="sdwan", created_by="system").profile_id + profiles = api.get_profiles() + if len(profiles) >= 1: + return profiles[0].profile_id + profile_id = api.create_profile( + FeatureProfileCreationPayload(name="Policy_Profile_Global", description="Policy_Profile_Global_description") + ).id return profile_id def _insert_groups_of_interest_in_default_policy_object_profile(self, profile_id: UUID): diff --git a/catalystwan/workflows/config_migration.py b/catalystwan/workflows/config_migration.py index f57bce85..715d577c 100644 --- a/catalystwan/workflows/config_migration.py +++ b/catalystwan/workflows/config_migration.py @@ -392,9 +392,7 @@ def transform(ux1: UX1Config, add_suffix: bool = True) -> ConfigTransformResult: ux2.cloud_credentials = create_cloud_credentials_from_templates(cloud_credential_templates) # Prepare Context for Policy Conversion (VPN Parcels must be already transformed) - policy_context = PolicyConvertContext.from_configs( - ux1.network_hierarchy, ux2.profile_parcels, ux1.policies.policy_lists - ) + policy_context = PolicyConvertContext.from_configs(ux1.network_hierarchy, ux2.profile_parcels) # Policy Lists for policy_list in ux1.policies.policy_lists: diff --git a/pyproject.toml b/pyproject.toml index 9b473bdb..8e5f9f01 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "catalystwan" -version = "0.33.7dev2" +version = "0.33.7dev3" description = "Cisco Catalyst WAN SDK for Python" authors = ["kagorski "] readme = "README.md"