diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f04d0896..57dc0c3d 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.32.0" + ".": "0.33.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index e4e9b35f..e9e01167 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 645 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-afac9651736e871ab5942174b1c2b741d31f17c1f4ac61e78f0000f1b3fd8d09.yml -openapi_spec_hash: 9c57a763b4c6b82b581defdcaf5f52df -config_hash: 7552912a8ca7c67b43b97f51b67a5ae7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-06555b1b7559c234823e37c3970ba3ea9f11ed14270b872b22761f6be8692e74.yml +openapi_spec_hash: 619bca59fafad89221a4b35f797f14f1 +config_hash: bc578a7de14c42e33b7d4bd4502218f2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a2a6a34..1ba1bd12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,23 @@ # Changelog +## 0.33.0 (2026-02-16) + +Full Changelog: [v0.32.0...v0.33.0](https://github.com/G-Core/gcore-python/compare/v0.32.0...v0.33.0) + +### Features + +* **api:** aggregated API specs update ([13374b4](https://github.com/G-Core/gcore-python/commit/13374b4ad22fe8709ae1cd0ab9d31c2ec9714a0b)) +* **api:** aggregated API specs update ([55f0747](https://github.com/G-Core/gcore-python/commit/55f07478fb5b343efac0d43b0e0a1a5c1fdb8918)) +* **api:** aggregated API specs update ([d6b782c](https://github.com/G-Core/gcore-python/commit/d6b782c24f6534edc3c2013d644e0d5f9fdffac5)) +* **api:** revert(cdn): remove client_config subresource ([#207](https://github.com/G-Core/gcore-python/issues/207)) ([6bc418a](https://github.com/G-Core/gcore-python/commit/6bc418acdcfed56957b6c571ee2f6f29efa3663e)) +* **cdn:** add client_config subresource for terraform ([5359417](https://github.com/G-Core/gcore-python/commit/535941718238395cdfc524c0bc5b59b4109fd8d1)) + + +### Chores + +* **cloud:** suppress deprecation warnings for security group rules ([d263a2e](https://github.com/G-Core/gcore-python/commit/d263a2e356d317f3cb4301ee0b10b1863a888178)) +* format all `api.md` files ([6f7ec77](https://github.com/G-Core/gcore-python/commit/6f7ec778e65dce7a413619b85df204268f26d178)) + ## 0.32.0 (2026-02-11) Full Changelog: [v0.31.0...v0.32.0](https://github.com/G-Core/gcore-python/compare/v0.31.0...v0.32.0) diff --git a/api.md b/api.md index cbc93dbc..9faa9ce7 100644 --- a/api.md +++ b/api.md @@ -1,2579 +1,17 @@ -# Cloud +# [Cloud](src/gcore/resources/cloud/api.md) -Types: +# [Waap](src/gcore/resources/waap/api.md) -```python -from gcore.types.cloud import ( - AllowedAddressPairs, - BaremetalFlavor, - BaremetalFlavorList, - BlackholePort, - Console, - DDOSProfile, - DDOSProfileField, - DDOSProfileOptionList, - DDOSProfileStatus, - DDOSProfileTemplate, - DDOSProfileTemplateField, - FixedAddress, - FixedAddressShort, - FlavorHardwareDescription, - FloatingAddress, - FloatingIP, - FloatingIPStatus, - GPUImage, - GPUImageList, - HTTPMethod, - Image, - ImageList, - Instance, - InstanceIsolation, - InstanceList, - InstanceMetricsTimeUnit, - InterfaceIPFamily, - IPAssignment, - IPVersion, - LaasIndexRetentionPolicy, - LoadBalancer, - LoadBalancerInstanceRole, - LoadBalancerMemberConnectivity, - LoadBalancerOperatingStatus, - LoadBalancerStatistics, - Logging, - Network, - NetworkAnySubnetFip, - NetworkDetails, - NetworkInterface, - NetworkInterfaceList, - NetworkSubnetFip, - ProvisioningStatus, - Route, - Subnet, - Tag, - TagList, - TagUpdateMap, - TaskIDList, -) -``` +# [Iam](src/gcore/resources/iam/api.md) -## Projects +# [Fastedge](src/gcore/resources/fastedge/api.md) -Types: +# [Streaming](src/gcore/resources/streaming/api.md) -```python -from gcore.types.cloud import Project -``` +# [Security](src/gcore/resources/security/api.md) -Methods: +# [DNS](src/gcore/resources/dns/api.md) -- client.cloud.projects.create(\*\*params) -> Project -- client.cloud.projects.update(\*, project_id, \*\*params) -> Project -- client.cloud.projects.list(\*\*params) -> SyncOffsetPage[Project] -- client.cloud.projects.delete(\*, project_id) -> TaskIDList -- client.cloud.projects.get(\*, project_id) -> Project +# [Storage](src/gcore/resources/storage/api.md) -## Tasks - -Types: - -```python -from gcore.types.cloud import Task -``` - -Methods: - -- client.cloud.tasks.list(\*\*params) -> SyncOffsetPage[Task] -- client.cloud.tasks.acknowledge_all(\*\*params) -> None -- client.cloud.tasks.acknowledge_one(task_id) -> Task -- client.cloud.tasks.get(task_id) -> Task - -## Regions - -Types: - -```python -from gcore.types.cloud import Region -``` - -Methods: - -- client.cloud.regions.list(\*\*params) -> SyncOffsetPage[Region] -- client.cloud.regions.get(\*, region_id, \*\*params) -> Region - -## Quotas - -Types: - -```python -from gcore.types.cloud import QuotaGetAllResponse, QuotaGetByRegionResponse, QuotaGetGlobalResponse -``` - -Methods: - -- client.cloud.quotas.get_all() -> QuotaGetAllResponse -- client.cloud.quotas.get_by_region(\*, client_id, region_id) -> QuotaGetByRegionResponse -- client.cloud.quotas.get_global(client_id) -> QuotaGetGlobalResponse - -### Requests - -Types: - -```python -from gcore.types.cloud.quotas import RequestListResponse, RequestGetResponse -``` - -Methods: - -- client.cloud.quotas.requests.create(\*\*params) -> None -- client.cloud.quotas.requests.list(\*\*params) -> SyncOffsetPage[RequestListResponse] -- client.cloud.quotas.requests.delete(request_id) -> None -- client.cloud.quotas.requests.get(request_id) -> RequestGetResponse - -## Secrets - -Types: - -```python -from gcore.types.cloud import Secret -``` - -Methods: - -- client.cloud.secrets.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Secret] -- client.cloud.secrets.delete(secret_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.secrets.get(secret_id, \*, project_id, region_id) -> Secret -- client.cloud.secrets.upload_tls_certificate(\*, project_id, region_id, \*\*params) -> TaskIDList - -## SSHKeys - -Types: - -```python -from gcore.types.cloud import SSHKey, SSHKeyCreated -``` - -Methods: - -- client.cloud.ssh_keys.create(\*, project_id, \*\*params) -> SSHKeyCreated -- client.cloud.ssh_keys.update(ssh_key_id, \*, project_id, \*\*params) -> SSHKey -- client.cloud.ssh_keys.list(\*, project_id, \*\*params) -> SyncOffsetPage[SSHKey] -- client.cloud.ssh_keys.delete(ssh_key_id, \*, project_id) -> None -- client.cloud.ssh_keys.get(ssh_key_id, \*, project_id) -> SSHKey - -## IPRanges - -Types: - -```python -from gcore.types.cloud import IPRanges -``` - -Methods: - -- client.cloud.ip_ranges.list() -> IPRanges - -## LoadBalancers - -Types: - -```python -from gcore.types.cloud import ( - HealthMonitor, - HealthMonitorStatus, - LbAlgorithm, - LbHealthMonitorType, - LbListenerProtocol, - LbPoolProtocol, - LbSessionPersistenceType, - ListenerStatus, - LoadBalancerFlavorDetail, - LoadBalancerFlavorList, - LoadBalancerL7Policy, - LoadBalancerL7PolicyList, - LoadBalancerL7Rule, - LoadBalancerL7RuleList, - LoadBalancerListenerDetail, - LoadBalancerListenerList, - LoadBalancerMetrics, - LoadBalancerMetricsList, - LoadBalancerPool, - LoadBalancerPoolList, - LoadBalancerStatus, - LoadBalancerStatusList, - Member, - MemberStatus, - PoolStatus, - SessionPersistence, -) -``` - -Methods: - -- client.cloud.load_balancers.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.update(load_balancer_id, \*, project_id, region_id, \*\*params) -> LoadBalancer -- client.cloud.load_balancers.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[LoadBalancer] -- client.cloud.load_balancers.delete(load_balancer_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.load_balancers.failover(load_balancer_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.get(load_balancer_id, \*, project_id, region_id, \*\*params) -> LoadBalancer -- client.cloud.load_balancers.resize(load_balancer_id, \*, project_id, region_id, \*\*params) -> TaskIDList - -### L7Policies - -Methods: - -- client.cloud.load_balancers.l7_policies.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.l7_policies.update(l7policy_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.l7_policies.list(\*, project_id, region_id) -> LoadBalancerL7PolicyList -- client.cloud.load_balancers.l7_policies.delete(l7policy_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.load_balancers.l7_policies.get(l7policy_id, \*, project_id, region_id) -> LoadBalancerL7Policy - -#### Rules - -Methods: - -- client.cloud.load_balancers.l7_policies.rules.create(l7policy_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.l7_policies.rules.list(l7policy_id, \*, project_id, region_id) -> LoadBalancerL7RuleList -- client.cloud.load_balancers.l7_policies.rules.delete(l7rule_id, \*, project_id, region_id, l7policy_id) -> TaskIDList -- client.cloud.load_balancers.l7_policies.rules.get(l7rule_id, \*, project_id, region_id, l7policy_id) -> LoadBalancerL7Rule -- client.cloud.load_balancers.l7_policies.rules.replace(l7rule_id, \*, project_id, region_id, l7policy_id, \*\*params) -> TaskIDList - -### Flavors - -Methods: - -- client.cloud.load_balancers.flavors.list(\*, project_id, region_id, \*\*params) -> LoadBalancerFlavorList - -### Listeners - -Methods: - -- client.cloud.load_balancers.listeners.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.listeners.update(listener_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.listeners.list(\*, project_id, region_id, \*\*params) -> LoadBalancerListenerList -- client.cloud.load_balancers.listeners.delete(listener_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.listeners.get(listener_id, \*, project_id, region_id, \*\*params) -> LoadBalancerListenerDetail - -### Pools - -Methods: - -- client.cloud.load_balancers.pools.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.pools.update(pool_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.pools.list(\*, project_id, region_id, \*\*params) -> LoadBalancerPoolList -- client.cloud.load_balancers.pools.delete(pool_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.load_balancers.pools.get(pool_id, \*, project_id, region_id) -> LoadBalancerPool - -#### HealthMonitors - -Methods: - -- client.cloud.load_balancers.pools.health_monitors.create(pool_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.pools.health_monitors.delete(pool_id, \*, project_id, region_id) -> None - -#### Members - -Methods: - -- client.cloud.load_balancers.pools.members.create(pool_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.load_balancers.pools.members.delete(member_id, \*, project_id, region_id, pool_id) -> TaskIDList - -### Metrics - -Methods: - -- client.cloud.load_balancers.metrics.list(load_balancer_id, \*, project_id, region_id, \*\*params) -> LoadBalancerMetricsList - -### Statuses - -Methods: - -- client.cloud.load_balancers.statuses.list(\*, project_id, region_id) -> LoadBalancerStatusList -- client.cloud.load_balancers.statuses.get(load_balancer_id, \*, project_id, region_id) -> LoadBalancerStatus - -## ReservedFixedIPs - -Types: - -```python -from gcore.types.cloud import ReservedFixedIP -``` - -Methods: - -- client.cloud.reserved_fixed_ips.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.reserved_fixed_ips.update(port_id, \*, project_id, region_id, \*\*params) -> ReservedFixedIP -- client.cloud.reserved_fixed_ips.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[ReservedFixedIP] -- client.cloud.reserved_fixed_ips.delete(port_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.reserved_fixed_ips.get(port_id, \*, project_id, region_id) -> ReservedFixedIP - -### Vip - -Types: - -```python -from gcore.types.cloud.reserved_fixed_ips import IPWithSubnet -``` - -Methods: - -- client.cloud.reserved_fixed_ips.vip.toggle(port_id, \*, project_id, region_id, \*\*params) -> ReservedFixedIP - -#### CandidatePorts - -Types: - -```python -from gcore.types.cloud.reserved_fixed_ips.vip import CandidatePort, CandidatePortList -``` - -Methods: - -- client.cloud.reserved_fixed_ips.vip.candidate_ports.list(port_id, \*, project_id, region_id) -> CandidatePortList - -#### ConnectedPorts - -Types: - -```python -from gcore.types.cloud.reserved_fixed_ips.vip import ConnectedPort, ConnectedPortList -``` - -Methods: - -- client.cloud.reserved_fixed_ips.vip.connected_ports.list(port_id, \*, project_id, region_id) -> ConnectedPortList -- client.cloud.reserved_fixed_ips.vip.connected_ports.add(port_id, \*, project_id, region_id, \*\*params) -> ConnectedPortList -- client.cloud.reserved_fixed_ips.vip.connected_ports.replace(port_id, \*, project_id, region_id, \*\*params) -> ConnectedPortList - -## Networks - -Methods: - -- client.cloud.networks.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.networks.update(network_id, \*, project_id, region_id, \*\*params) -> Network -- client.cloud.networks.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Network] -- client.cloud.networks.delete(network_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.networks.get(network_id, \*, project_id, region_id) -> Network - -### Subnets - -Methods: - -- client.cloud.networks.subnets.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.networks.subnets.update(subnet_id, \*, project_id, region_id, \*\*params) -> Subnet -- client.cloud.networks.subnets.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Subnet] -- client.cloud.networks.subnets.delete(subnet_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.networks.subnets.get(subnet_id, \*, project_id, region_id) -> Subnet - -### Routers - -Types: - -```python -from gcore.types.cloud.networks import Router, RouterList, SubnetID -``` - -Methods: - -- client.cloud.networks.routers.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.networks.routers.update(router_id, \*, project_id, region_id, \*\*params) -> Router -- client.cloud.networks.routers.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Router] -- client.cloud.networks.routers.delete(router_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.networks.routers.attach_subnet(router_id, \*, project_id, region_id, \*\*params) -> Router -- client.cloud.networks.routers.detach_subnet(router_id, \*, project_id, region_id, \*\*params) -> Router -- client.cloud.networks.routers.get(router_id, \*, project_id, region_id) -> Router - -## Volumes - -Types: - -```python -from gcore.types.cloud import Volume -``` - -Methods: - -- client.cloud.volumes.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.volumes.update(volume_id, \*, project_id, region_id, \*\*params) -> Volume -- client.cloud.volumes.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Volume] -- client.cloud.volumes.delete(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.volumes.attach_to_instance(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.volumes.change_type(volume_id, \*, project_id, region_id, \*\*params) -> Volume -- client.cloud.volumes.detach_from_instance(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.volumes.get(volume_id, \*, project_id, region_id) -> Volume -- client.cloud.volumes.resize(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.volumes.revert_to_last_snapshot(volume_id, \*, project_id, region_id) -> None - -## FloatingIPs - -Types: - -```python -from gcore.types.cloud import FloatingIPDetailed -``` - -Methods: - -- client.cloud.floating_ips.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.floating_ips.update(floating_ip_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.floating_ips.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[FloatingIPDetailed] -- client.cloud.floating_ips.delete(floating_ip_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.floating_ips.assign(floating_ip_id, \*, project_id, region_id, \*\*params) -> FloatingIP -- client.cloud.floating_ips.get(floating_ip_id, \*, project_id, region_id) -> FloatingIP -- client.cloud.floating_ips.unassign(floating_ip_id, \*, project_id, region_id) -> FloatingIP - -## SecurityGroups - -Types: - -```python -from gcore.types.cloud import SecurityGroup, SecurityGroupRule -``` - -Methods: - -- client.cloud.security_groups.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.security_groups.update(group_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.security_groups.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[SecurityGroup] -- client.cloud.security_groups.delete(group_id, \*, project_id, region_id) -> None -- client.cloud.security_groups.copy(group_id, \*, project_id, region_id, \*\*params) -> SecurityGroup -- client.cloud.security_groups.get(group_id, \*, project_id, region_id) -> SecurityGroup -- client.cloud.security_groups.revert_to_default(group_id, \*, project_id, region_id) -> SecurityGroup - -### Rules - -Methods: - -- client.cloud.security_groups.rules.create(group_id, \*, project_id, region_id, \*\*params) -> SecurityGroupRule -- client.cloud.security_groups.rules.delete(rule_id, \*, project_id, region_id) -> None -- client.cloud.security_groups.rules.replace(rule_id, \*, project_id, region_id, \*\*params) -> SecurityGroupRule - -## Users - -### RoleAssignments - -Types: - -```python -from gcore.types.cloud.users import RoleAssignment, RoleAssignmentUpdatedDeleted -``` - -Methods: - -- client.cloud.users.role_assignments.create(\*\*params) -> RoleAssignment -- client.cloud.users.role_assignments.update(assignment_id, \*\*params) -> RoleAssignmentUpdatedDeleted -- client.cloud.users.role_assignments.list(\*\*params) -> SyncOffsetPage[RoleAssignment] -- client.cloud.users.role_assignments.delete(assignment_id) -> RoleAssignmentUpdatedDeleted - -## Inference - -Types: - -```python -from gcore.types.cloud import InferenceRegionCapacity, InferenceRegionCapacityList -``` - -Methods: - -- client.cloud.inference.get_capacity_by_region() -> InferenceRegionCapacityList - -### Flavors - -Types: - -```python -from gcore.types.cloud.inference import InferenceFlavor -``` - -Methods: - -- client.cloud.inference.flavors.list(\*\*params) -> SyncOffsetPage[InferenceFlavor] -- client.cloud.inference.flavors.get(flavor_name) -> InferenceFlavor - -### Deployments - -Types: - -```python -from gcore.types.cloud.inference import ( - InferenceDeployment, - InferenceDeploymentAPIKey, - Probe, - ProbeConfig, - ProbeExec, - ProbeHTTPGet, - ProbeTcpSocket, -) -``` - -Methods: - -- client.cloud.inference.deployments.create(\*, project_id, \*\*params) -> TaskIDList -- client.cloud.inference.deployments.update(deployment_name, \*, project_id, \*\*params) -> TaskIDList -- client.cloud.inference.deployments.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceDeployment] -- client.cloud.inference.deployments.delete(deployment_name, \*, project_id) -> TaskIDList -- client.cloud.inference.deployments.get(deployment_name, \*, project_id) -> InferenceDeployment -- client.cloud.inference.deployments.get_api_key(deployment_name, \*, project_id) -> InferenceDeploymentAPIKey -- client.cloud.inference.deployments.start(deployment_name, \*, project_id) -> None -- client.cloud.inference.deployments.stop(deployment_name, \*, project_id) -> None - -#### Logs - -Types: - -```python -from gcore.types.cloud.inference.deployments import InferenceDeploymentLog -``` - -Methods: - -- client.cloud.inference.deployments.logs.list(deployment_name, \*, project_id, \*\*params) -> SyncOffsetPage[InferenceDeploymentLog] - -### RegistryCredentials - -Types: - -```python -from gcore.types.cloud.inference import InferenceRegistryCredentials -``` - -Methods: - -- client.cloud.inference.registry_credentials.create(\*, project_id, \*\*params) -> InferenceRegistryCredentials -- client.cloud.inference.registry_credentials.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceRegistryCredentials] -- client.cloud.inference.registry_credentials.delete(credential_name, \*, project_id) -> None -- client.cloud.inference.registry_credentials.get(credential_name, \*, project_id) -> InferenceRegistryCredentials -- client.cloud.inference.registry_credentials.replace(credential_name, \*, project_id, \*\*params) -> InferenceRegistryCredentials - -### Secrets - -Types: - -```python -from gcore.types.cloud.inference import InferenceSecret -``` - -Methods: - -- client.cloud.inference.secrets.create(\*, project_id, \*\*params) -> InferenceSecret -- client.cloud.inference.secrets.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceSecret] -- client.cloud.inference.secrets.delete(secret_name, \*, project_id) -> None -- client.cloud.inference.secrets.get(secret_name, \*, project_id) -> InferenceSecret -- client.cloud.inference.secrets.replace(secret_name, \*, project_id, \*\*params) -> InferenceSecret - -### APIKeys - -Types: - -```python -from gcore.types.cloud.inference import InferenceAPIKey, InferenceAPIKeyCreated -``` - -Methods: - -- client.cloud.inference.api_keys.create(\*, project_id, \*\*params) -> InferenceAPIKeyCreated -- client.cloud.inference.api_keys.update(api_key_name, \*, project_id, \*\*params) -> InferenceAPIKey -- client.cloud.inference.api_keys.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceAPIKey] -- client.cloud.inference.api_keys.delete(api_key_name, \*, project_id) -> None -- client.cloud.inference.api_keys.get(api_key_name, \*, project_id) -> InferenceAPIKey - -### Applications - -#### Deployments - -Types: - -```python -from gcore.types.cloud.inference.applications import ( - InferenceApplicationDeployment, - InferenceApplicationDeploymentList, -) -``` - -Methods: - -- client.cloud.inference.applications.deployments.create(\*, project_id, \*\*params) -> TaskIDList -- client.cloud.inference.applications.deployments.update(deployment_name, \*, project_id, \*\*params) -> TaskIDList -- client.cloud.inference.applications.deployments.list(\*, project_id) -> InferenceApplicationDeploymentList -- client.cloud.inference.applications.deployments.delete(deployment_name, \*, project_id) -> TaskIDList -- client.cloud.inference.applications.deployments.get(deployment_name, \*, project_id) -> InferenceApplicationDeployment - -#### Templates - -Types: - -```python -from gcore.types.cloud.inference.applications import ( - InferenceApplicationTemplate, - InferenceApplicationTemplateList, -) -``` - -Methods: - -- client.cloud.inference.applications.templates.list() -> InferenceApplicationTemplateList -- client.cloud.inference.applications.templates.get(application_name) -> InferenceApplicationTemplate - -## PlacementGroups - -Types: - -```python -from gcore.types.cloud import PlacementGroup, PlacementGroupList -``` - -Methods: - -- client.cloud.placement_groups.create(\*, project_id, region_id, \*\*params) -> PlacementGroup -- client.cloud.placement_groups.list(\*, project_id, region_id) -> PlacementGroupList -- client.cloud.placement_groups.delete(group_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.placement_groups.get(group_id, \*, project_id, region_id) -> PlacementGroup - -## Baremetal - -### Images - -Methods: - -- client.cloud.baremetal.images.list(\*, project_id, region_id, \*\*params) -> ImageList - -### Flavors - -Methods: - -- client.cloud.baremetal.flavors.list(\*, project_id, region_id, \*\*params) -> BaremetalFlavorList - -### Servers - -Types: - -```python -from gcore.types.cloud.baremetal import ( - BaremetalFixedAddress, - BaremetalFloatingAddress, - BaremetalServer, -) -``` - -Methods: - -- client.cloud.baremetal.servers.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.baremetal.servers.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[BaremetalServer] -- client.cloud.baremetal.servers.rebuild(server_id, \*, project_id, region_id, \*\*params) -> TaskIDList - -## Registries - -Types: - -```python -from gcore.types.cloud import Registry, RegistryList, RegistryTag -``` - -Methods: - -- client.cloud.registries.create(\*, project_id, region_id, \*\*params) -> Registry -- client.cloud.registries.list(\*, project_id, region_id) -> RegistryList -- client.cloud.registries.delete(registry_id, \*, project_id, region_id) -> None -- client.cloud.registries.get(registry_id, \*, project_id, region_id) -> Registry -- client.cloud.registries.resize(registry_id, \*, project_id, region_id, \*\*params) -> Registry - -### Repositories - -Types: - -```python -from gcore.types.cloud.registries import RegistryRepository, RegistryRepositoryList -``` - -Methods: - -- client.cloud.registries.repositories.list(registry_id, \*, project_id, region_id) -> RegistryRepositoryList -- client.cloud.registries.repositories.delete(repository_name, \*, project_id, region_id, registry_id) -> None - -### Artifacts - -Types: - -```python -from gcore.types.cloud.registries import RegistryArtifact, RegistryArtifactList -``` - -Methods: - -- client.cloud.registries.artifacts.list(repository_name, \*, project_id, region_id, registry_id) -> RegistryArtifactList -- client.cloud.registries.artifacts.delete(digest, \*, project_id, region_id, registry_id, repository_name) -> None - -### Tags - -Methods: - -- client.cloud.registries.tags.delete(tag_name, \*, project_id, region_id, registry_id, repository_name, digest) -> None - -### Users - -Types: - -```python -from gcore.types.cloud.registries import ( - RegistryUser, - RegistryUserCreated, - RegistryUserList, - UserRefreshSecretResponse, -) -``` - -Methods: - -- client.cloud.registries.users.create(registry_id, \*, project_id, region_id, \*\*params) -> RegistryUserCreated -- client.cloud.registries.users.update(user_id, \*, project_id, region_id, registry_id, \*\*params) -> RegistryUser -- client.cloud.registries.users.list(registry_id, \*, project_id, region_id) -> RegistryUserList -- client.cloud.registries.users.delete(user_id, \*, project_id, region_id, registry_id) -> None -- client.cloud.registries.users.create_multiple(registry_id, \*, project_id, region_id, \*\*params) -> RegistryUserCreated -- client.cloud.registries.users.refresh_secret(user_id, \*, project_id, region_id, registry_id) -> UserRefreshSecretResponse - -## FileShares - -Types: - -```python -from gcore.types.cloud import FileShare -``` - -Methods: - -- client.cloud.file_shares.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.file_shares.update(file_share_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.file_shares.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[FileShare] -- client.cloud.file_shares.delete(file_share_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.file_shares.get(file_share_id, \*, project_id, region_id) -> FileShare -- client.cloud.file_shares.resize(file_share_id, \*, project_id, region_id, \*\*params) -> TaskIDList - -### AccessRules - -Types: - -```python -from gcore.types.cloud.file_shares import AccessRule, AccessRuleList -``` - -Methods: - -- client.cloud.file_shares.access_rules.create(file_share_id, \*, project_id, region_id, \*\*params) -> AccessRule -- client.cloud.file_shares.access_rules.list(file_share_id, \*, project_id, region_id) -> AccessRuleList -- client.cloud.file_shares.access_rules.delete(access_rule_id, \*, project_id, region_id, file_share_id) -> None - -## BillingReservations - -Types: - -```python -from gcore.types.cloud import BillingReservation, BillingReservations -``` - -Methods: - -- client.cloud.billing_reservations.list(\*\*params) -> BillingReservations - -## GPUBaremetal - -### Clusters - -Types: - -```python -from gcore.types.cloud.gpu_baremetal import GPUBaremetalCluster -``` - -Methods: - -- client.cloud.gpu_baremetal.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[GPUBaremetalCluster] -- client.cloud.gpu_baremetal.clusters.delete(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.action(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.get(cluster_id, \*, project_id, region_id) -> GPUBaremetalCluster -- client.cloud.gpu_baremetal.clusters.powercycle_all_servers(cluster_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1List -- client.cloud.gpu_baremetal.clusters.reboot_all_servers(cluster_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1List -- client.cloud.gpu_baremetal.clusters.rebuild(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.resize(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList - -#### Interfaces - -Methods: - -- client.cloud.gpu_baremetal.clusters.interfaces.list(cluster_id, \*, project_id, region_id) -> NetworkInterfaceList -- client.cloud.gpu_baremetal.clusters.interfaces.attach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.interfaces.detach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList - -#### Servers - -Types: - -```python -from gcore.types.cloud.gpu_baremetal.clusters import ( - GPUBaremetalClusterServer, - GPUBaremetalClusterServerV1, - GPUBaremetalClusterServerV1List, -) -``` - -Methods: - -- client.cloud.gpu_baremetal.clusters.servers.list(cluster_id, \*, project_id, region_id, \*\*params) -> SyncOffsetPage[GPUBaremetalClusterServer] -- client.cloud.gpu_baremetal.clusters.servers.delete(instance_id, \*, project_id, region_id, cluster_id, \*\*params) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.servers.get_console(instance_id, \*, project_id, region_id) -> Console -- client.cloud.gpu_baremetal.clusters.servers.powercycle(instance_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1 -- client.cloud.gpu_baremetal.clusters.servers.reboot(instance_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1 - -#### Flavors - -Types: - -```python -from gcore.types.cloud.gpu_baremetal.clusters import GPUBaremetalFlavor, GPUBaremetalFlavorList -``` - -Methods: - -- client.cloud.gpu_baremetal.clusters.flavors.list(\*, project_id, region_id, \*\*params) -> GPUBaremetalFlavorList - -#### Images - -Methods: - -- client.cloud.gpu_baremetal.clusters.images.list(\*, project_id, region_id) -> GPUImageList -- client.cloud.gpu_baremetal.clusters.images.delete(image_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.gpu_baremetal.clusters.images.get(image_id, \*, project_id, region_id) -> GPUImage -- client.cloud.gpu_baremetal.clusters.images.upload(\*, project_id, region_id, \*\*params) -> TaskIDList - -## GPUVirtual - -### Clusters - -Types: - -```python -from gcore.types.cloud.gpu_virtual import GPUVirtualCluster -``` - -Methods: - -- client.cloud.gpu_virtual.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_virtual.clusters.update(cluster_id, \*, project_id, region_id, \*\*params) -> GPUVirtualCluster -- client.cloud.gpu_virtual.clusters.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[GPUVirtualCluster] -- client.cloud.gpu_virtual.clusters.delete(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_virtual.clusters.action(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.gpu_virtual.clusters.get(cluster_id, \*, project_id, region_id) -> GPUVirtualCluster - -#### Servers - -Types: - -```python -from gcore.types.cloud.gpu_virtual.clusters import ( - GPUVirtualClusterServer, - GPUVirtualClusterServerList, -) -``` - -Methods: - -- client.cloud.gpu_virtual.clusters.servers.list(cluster_id, \*, project_id, region_id, \*\*params) -> GPUVirtualClusterServerList -- client.cloud.gpu_virtual.clusters.servers.delete(server_id, \*, project_id, region_id, cluster_id, \*\*params) -> TaskIDList - -#### Volumes - -Types: - -```python -from gcore.types.cloud.gpu_virtual.clusters import ( - GPUVirtualClusterVolume, - GPUVirtualClusterVolumeList, -) -``` - -Methods: - -- client.cloud.gpu_virtual.clusters.volumes.list(cluster_id, \*, project_id, region_id) -> GPUVirtualClusterVolumeList - -#### Interfaces - -Types: - -```python -from gcore.types.cloud.gpu_virtual.clusters import GPUVirtualInterface, GPUVirtualInterfaceList -``` - -Methods: - -- client.cloud.gpu_virtual.clusters.interfaces.list(cluster_id, \*, project_id, region_id) -> GPUVirtualInterfaceList - -#### Flavors - -Types: - -```python -from gcore.types.cloud.gpu_virtual.clusters import GPUVirtualFlavor, GPUVirtualFlavorList -``` - -Methods: - -- client.cloud.gpu_virtual.clusters.flavors.list(\*, project_id, region_id, \*\*params) -> GPUVirtualFlavorList - -#### Images - -Methods: - -- client.cloud.gpu_virtual.clusters.images.list(\*, project_id, region_id) -> GPUImageList -- client.cloud.gpu_virtual.clusters.images.delete(image_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.gpu_virtual.clusters.images.get(image_id, \*, project_id, region_id) -> GPUImage -- client.cloud.gpu_virtual.clusters.images.upload(\*, project_id, region_id, \*\*params) -> TaskIDList - -## Instances - -Types: - -```python -from gcore.types.cloud import InstanceInterface -``` - -Methods: - -- client.cloud.instances.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.update(instance_id, \*, project_id, region_id, \*\*params) -> Instance -- client.cloud.instances.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Instance] -- client.cloud.instances.delete(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.action(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.add_to_placement_group(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.assign_security_group(instance_id, \*, project_id, region_id, \*\*params) -> None -- client.cloud.instances.disable_port_security(port_id, \*, project_id, region_id) -> InstanceInterface -- client.cloud.instances.enable_port_security(port_id, \*, project_id, region_id) -> InstanceInterface -- client.cloud.instances.get(instance_id, \*, project_id, region_id) -> Instance -- client.cloud.instances.get_console(instance_id, \*, project_id, region_id, \*\*params) -> Console -- client.cloud.instances.remove_from_placement_group(instance_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.instances.resize(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.unassign_security_group(instance_id, \*, project_id, region_id, \*\*params) -> None - -### Flavors - -Types: - -```python -from gcore.types.cloud.instances import InstanceFlavorDetailed, InstanceFlavorList -``` - -Methods: - -- client.cloud.instances.flavors.list(\*, project_id, region_id, \*\*params) -> InstanceFlavorList - -### Interfaces - -Methods: - -- client.cloud.instances.interfaces.list(instance_id, \*, project_id, region_id) -> NetworkInterfaceList -- client.cloud.instances.interfaces.attach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.interfaces.detach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList - -### Images - -Methods: - -- client.cloud.instances.images.update(image_id, \*, project_id, region_id, \*\*params) -> Image -- client.cloud.instances.images.list(\*, project_id, region_id, \*\*params) -> ImageList -- client.cloud.instances.images.delete(image_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.instances.images.create_from_volume(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.instances.images.get(image_id, \*, project_id, region_id, \*\*params) -> Image -- client.cloud.instances.images.upload(\*, project_id, region_id, \*\*params) -> TaskIDList - -### Metrics - -Types: - -```python -from gcore.types.cloud.instances import Metrics, MetricsList -``` - -Methods: - -- client.cloud.instances.metrics.list(instance_id, \*, project_id, region_id, \*\*params) -> MetricsList - -## K8S - -Types: - -```python -from gcore.types.cloud import K8SClusterVersion, K8SClusterVersionList -``` - -Methods: - -- client.cloud.k8s.list_versions(\*, project_id, region_id) -> K8SClusterVersionList - -### Flavors - -Methods: - -- client.cloud.k8s.flavors.list(\*, project_id, region_id, \*\*params) -> BaremetalFlavorList - -### Clusters - -Types: - -```python -from gcore.types.cloud.k8s import ( - K8SCluster, - K8SClusterCertificate, - K8SClusterKubeconfig, - K8SClusterList, -) -``` - -Methods: - -- client.cloud.k8s.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.k8s.clusters.update(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.k8s.clusters.list(\*, project_id, region_id) -> K8SClusterList -- client.cloud.k8s.clusters.delete(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.k8s.clusters.get(cluster_name, \*, project_id, region_id) -> K8SCluster -- client.cloud.k8s.clusters.get_certificate(cluster_name, \*, project_id, region_id) -> K8SClusterCertificate -- client.cloud.k8s.clusters.get_kubeconfig(cluster_name, \*, project_id, region_id) -> K8SClusterKubeconfig -- client.cloud.k8s.clusters.list_versions_for_upgrade(cluster_name, \*, project_id, region_id) -> K8SClusterVersionList -- client.cloud.k8s.clusters.upgrade(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList - -#### Nodes - -Methods: - -- client.cloud.k8s.clusters.nodes.list(cluster_name, \*, project_id, region_id, \*\*params) -> InstanceList -- client.cloud.k8s.clusters.nodes.delete(instance_id, \*, project_id, region_id, cluster_name) -> None - -#### Pools - -Types: - -```python -from gcore.types.cloud.k8s.clusters import K8SClusterPool, K8SClusterPoolList, K8SClusterPoolQuota -``` - -Methods: - -- client.cloud.k8s.clusters.pools.create(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.k8s.clusters.pools.update(pool_name, \*, project_id, region_id, cluster_name, \*\*params) -> K8SClusterPool -- client.cloud.k8s.clusters.pools.list(cluster_name, \*, project_id, region_id) -> K8SClusterPoolList -- client.cloud.k8s.clusters.pools.delete(pool_name, \*, project_id, region_id, cluster_name) -> TaskIDList -- client.cloud.k8s.clusters.pools.check_quota(\*, project_id, region_id, \*\*params) -> K8SClusterPoolQuota -- client.cloud.k8s.clusters.pools.get(pool_name, \*, project_id, region_id, cluster_name) -> K8SClusterPool -- client.cloud.k8s.clusters.pools.resize(pool_name, \*, project_id, region_id, cluster_name, \*\*params) -> TaskIDList - -##### Nodes - -Methods: - -- client.cloud.k8s.clusters.pools.nodes.list(pool_name, \*, project_id, region_id, cluster_name, \*\*params) -> InstanceList -- client.cloud.k8s.clusters.pools.nodes.delete(instance_id, \*, project_id, region_id, cluster_name, pool_name) -> None - -## AuditLogs - -Types: - -```python -from gcore.types.cloud import AuditLogEntry -``` - -Methods: - -- client.cloud.audit_logs.list(\*\*params) -> SyncOffsetPage[AuditLogEntry] - -## CostReports - -Types: - -```python -from gcore.types.cloud import CostReportAggregated, CostReportAggregatedMonthly, CostReportDetailed -``` - -Methods: - -- client.cloud.cost_reports.get_aggregated(\*\*params) -> CostReportAggregated -- client.cloud.cost_reports.get_aggregated_monthly(\*\*params) -> CostReportAggregatedMonthly -- client.cloud.cost_reports.get_detailed(\*\*params) -> CostReportDetailed - -## UsageReports - -Types: - -```python -from gcore.types.cloud import UsageReport -``` - -Methods: - -- client.cloud.usage_reports.get(\*\*params) -> UsageReport - -## Databases - -### Postgres - -#### Clusters - -Types: - -```python -from gcore.types.cloud.databases.postgres import PostgresCluster, PostgresClusterShort -``` - -Methods: - -- client.cloud.databases.postgres.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.databases.postgres.clusters.update(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.databases.postgres.clusters.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[PostgresClusterShort] -- client.cloud.databases.postgres.clusters.delete(cluster_name, \*, project_id, region_id) -> TaskIDList -- client.cloud.databases.postgres.clusters.get(cluster_name, \*, project_id, region_id) -> PostgresCluster - -##### UserCredentials - -Types: - -```python -from gcore.types.cloud.databases.postgres.clusters import PostgresUserCredentials -``` - -Methods: - -- client.cloud.databases.postgres.clusters.user_credentials.get(username, \*, project_id, region_id, cluster_name) -> PostgresUserCredentials -- client.cloud.databases.postgres.clusters.user_credentials.regenerate(username, \*, project_id, region_id, cluster_name) -> PostgresUserCredentials - -#### Configurations - -Types: - -```python -from gcore.types.cloud.databases.postgres import PostgresConfiguration -``` - -Methods: - -- client.cloud.databases.postgres.configurations.get(\*, project_id, region_id) -> PostgresConfiguration - -#### CustomConfigurations - -Types: - -```python -from gcore.types.cloud.databases.postgres import PgConfValidation -``` - -Methods: - -- client.cloud.databases.postgres.custom_configurations.validate(\*, project_id, region_id, \*\*params) -> PgConfValidation - -## VolumeSnapshots - -Types: - -```python -from gcore.types.cloud import Snapshot -``` - -Methods: - -- client.cloud.volume_snapshots.create(\*, project_id, region_id, \*\*params) -> TaskIDList -- client.cloud.volume_snapshots.update(snapshot_id, \*, project_id, region_id, \*\*params) -> Snapshot -- client.cloud.volume_snapshots.delete(snapshot_id, \*, project_id, region_id) -> TaskIDList -- client.cloud.volume_snapshots.get(snapshot_id, \*, project_id, region_id) -> Snapshot - -# Waap - -Types: - -```python -from gcore.types.waap import WaapGetAccountOverviewResponse -``` - -Methods: - -- client.waap.get_account_overview() -> WaapGetAccountOverviewResponse - -## Statistics - -Types: - -```python -from gcore.types.waap import WaapStatisticItem, WaapStatisticsSeries -``` - -Methods: - -- client.waap.statistics.get_usage_series(\*\*params) -> WaapStatisticsSeries - -## Domains - -Types: - -```python -from gcore.types.waap import ( - WaapDetailedDomain, - WaapDomainAPISettings, - WaapDomainDDOSSettings, - WaapDomainSettingsModel, - WaapPolicyMode, - WaapRuleSet, - WaapSummaryDomain, - DomainListRuleSetsResponse, -) -``` - -Methods: - -- client.waap.domains.update(domain_id, \*\*params) -> None -- client.waap.domains.list(\*\*params) -> SyncOffsetPage[WaapSummaryDomain] -- client.waap.domains.delete(domain_id) -> None -- client.waap.domains.get(domain_id) -> WaapDetailedDomain -- client.waap.domains.list_rule_sets(domain_id) -> DomainListRuleSetsResponse -- client.waap.domains.toggle_policy(policy_id, \*, domain_id) -> WaapPolicyMode - -### Settings - -Methods: - -- client.waap.domains.settings.update(domain_id, \*\*params) -> None -- client.waap.domains.settings.get(domain_id) -> WaapDomainSettingsModel - -### APIPaths - -Types: - -```python -from gcore.types.waap.domains import WaapAPIPath -``` - -Methods: - -- client.waap.domains.api_paths.create(domain_id, \*\*params) -> WaapAPIPath -- client.waap.domains.api_paths.update(path_id, \*, domain_id, \*\*params) -> None -- client.waap.domains.api_paths.list(domain_id, \*\*params) -> SyncOffsetPage[WaapAPIPath] -- client.waap.domains.api_paths.delete(path_id, \*, domain_id) -> None -- client.waap.domains.api_paths.get(path_id, \*, domain_id) -> WaapAPIPath - -### APIPathGroups - -Types: - -```python -from gcore.types.waap.domains import APIPathGroupList -``` - -Methods: - -- client.waap.domains.api_path_groups.list(domain_id) -> APIPathGroupList - -### APIDiscovery - -Types: - -```python -from gcore.types.waap.domains import WaapAPIDiscoverySettings, WaapAPIScanResult, WaapTaskID -``` - -Methods: - -- client.waap.domains.api_discovery.get_scan_result(scan_id, \*, domain_id) -> WaapAPIScanResult -- client.waap.domains.api_discovery.get_settings(domain_id) -> WaapAPIDiscoverySettings -- client.waap.domains.api_discovery.list_scan_results(domain_id, \*\*params) -> SyncOffsetPage[WaapAPIScanResult] -- client.waap.domains.api_discovery.scan_openapi(domain_id) -> WaapTaskID -- client.waap.domains.api_discovery.update_settings(domain_id, \*\*params) -> WaapAPIDiscoverySettings -- client.waap.domains.api_discovery.upload_openapi(domain_id, \*\*params) -> WaapTaskID - -### Insights - -Types: - -```python -from gcore.types.waap.domains import WaapInsight -``` - -Methods: - -- client.waap.domains.insights.list(domain_id, \*\*params) -> SyncOffsetPage[WaapInsight] -- client.waap.domains.insights.get(insight_id, \*, domain_id) -> WaapInsight -- client.waap.domains.insights.replace(insight_id, \*, domain_id, \*\*params) -> WaapInsight - -### InsightSilences - -Types: - -```python -from gcore.types.waap.domains import WaapInsightSilence -``` - -Methods: - -- client.waap.domains.insight_silences.create(domain_id, \*\*params) -> WaapInsightSilence -- client.waap.domains.insight_silences.update(silence_id, \*, domain_id, \*\*params) -> WaapInsightSilence -- client.waap.domains.insight_silences.list(domain_id, \*\*params) -> SyncOffsetPage[WaapInsightSilence] -- client.waap.domains.insight_silences.delete(silence_id, \*, domain_id) -> None -- client.waap.domains.insight_silences.get(silence_id, \*, domain_id) -> WaapInsightSilence - -### Statistics - -Types: - -```python -from gcore.types.waap.domains import ( - WaapBlockedStatistics, - WaapCountStatistics, - WaapDDOSAttack, - WaapDDOSInfo, - WaapEventStatistics, - WaapRequestDetails, - WaapRequestSummary, - WaapTrafficMetrics, - StatisticGetTrafficSeriesResponse, -) -``` - -Methods: - -- client.waap.domains.statistics.get_ddos_attacks(domain_id, \*\*params) -> SyncOffsetPage[WaapDDOSAttack] -- client.waap.domains.statistics.get_ddos_info(domain_id, \*\*params) -> SyncOffsetPage[WaapDDOSInfo] -- client.waap.domains.statistics.get_events_aggregated(domain_id, \*\*params) -> WaapEventStatistics -- client.waap.domains.statistics.get_request_details(request_id, \*, domain_id) -> WaapRequestDetails -- client.waap.domains.statistics.get_requests_series(domain_id, \*\*params) -> SyncOffsetPage[WaapRequestSummary] -- client.waap.domains.statistics.get_traffic_series(domain_id, \*\*params) -> StatisticGetTrafficSeriesResponse - -### CustomRules - -Types: - -```python -from gcore.types.waap.domains import WaapCustomRule -``` - -Methods: - -- client.waap.domains.custom_rules.create(domain_id, \*\*params) -> WaapCustomRule -- client.waap.domains.custom_rules.update(rule_id, \*, domain_id, \*\*params) -> None -- client.waap.domains.custom_rules.list(domain_id, \*\*params) -> SyncOffsetPage[WaapCustomRule] -- client.waap.domains.custom_rules.delete(rule_id, \*, domain_id) -> None -- client.waap.domains.custom_rules.delete_multiple(domain_id, \*\*params) -> None -- client.waap.domains.custom_rules.get(rule_id, \*, domain_id) -> WaapCustomRule -- client.waap.domains.custom_rules.toggle(action, \*, domain_id, rule_id) -> None - -### FirewallRules - -Types: - -```python -from gcore.types.waap.domains import WaapFirewallRule -``` - -Methods: - -- client.waap.domains.firewall_rules.create(domain_id, \*\*params) -> WaapFirewallRule -- client.waap.domains.firewall_rules.update(rule_id, \*, domain_id, \*\*params) -> None -- client.waap.domains.firewall_rules.list(domain_id, \*\*params) -> SyncOffsetPage[WaapFirewallRule] -- client.waap.domains.firewall_rules.delete(rule_id, \*, domain_id) -> None -- client.waap.domains.firewall_rules.delete_multiple(domain_id, \*\*params) -> None -- client.waap.domains.firewall_rules.get(rule_id, \*, domain_id) -> WaapFirewallRule -- client.waap.domains.firewall_rules.toggle(action, \*, domain_id, rule_id) -> None - -### AdvancedRules - -Types: - -```python -from gcore.types.waap.domains import WaapAdvancedRule -``` - -Methods: - -- client.waap.domains.advanced_rules.create(domain_id, \*\*params) -> WaapAdvancedRule -- client.waap.domains.advanced_rules.update(rule_id, \*, domain_id, \*\*params) -> None -- client.waap.domains.advanced_rules.list(domain_id, \*\*params) -> SyncOffsetPage[WaapAdvancedRule] -- client.waap.domains.advanced_rules.delete(rule_id, \*, domain_id) -> None -- client.waap.domains.advanced_rules.get(rule_id, \*, domain_id) -> WaapAdvancedRule -- client.waap.domains.advanced_rules.toggle(action, \*, domain_id, rule_id) -> None - -## CustomPageSets - -Types: - -```python -from gcore.types.waap import WaapCustomPagePreview, WaapCustomPageSet -``` - -Methods: - -- client.waap.custom_page_sets.create(\*\*params) -> WaapCustomPageSet -- client.waap.custom_page_sets.update(set_id, \*\*params) -> None -- client.waap.custom_page_sets.list(\*\*params) -> SyncOffsetPage[WaapCustomPageSet] -- client.waap.custom_page_sets.delete(set_id) -> None -- client.waap.custom_page_sets.get(set_id) -> WaapCustomPageSet -- client.waap.custom_page_sets.preview(\*\*params) -> WaapCustomPagePreview - -## AdvancedRules - -Types: - -```python -from gcore.types.waap import WaapAdvancedRuleDescriptor, WaapAdvancedRuleDescriptorList -``` - -Methods: - -- client.waap.advanced_rules.list() -> WaapAdvancedRuleDescriptorList - -## Tags - -Types: - -```python -from gcore.types.waap import WaapTag -``` - -Methods: - -- client.waap.tags.list(\*\*params) -> SyncOffsetPage[WaapTag] - -## Organizations - -Types: - -```python -from gcore.types.waap import WaapOrganization -``` - -Methods: - -- client.waap.organizations.list(\*\*params) -> SyncOffsetPage[WaapOrganization] - -## Insights - -Types: - -```python -from gcore.types.waap import WaapInsightType -``` - -Methods: - -- client.waap.insights.list_types(\*\*params) -> SyncOffsetPage[WaapInsightType] - -## IPInfo - -Types: - -```python -from gcore.types.waap import ( - WaapIPCountryAttack, - WaapIPDDOSInfoModel, - WaapIPInfo, - WaapRuleBlockedRequests, - WaapTimeSeriesAttack, - WaapTopSession, - WaapTopURL, - WaapTopUserAgent, - IPInfoGetAttackTimeSeriesResponse, - IPInfoGetBlockedRequestsResponse, - IPInfoGetTopURLsResponse, - IPInfoGetTopUserAgentsResponse, - IPInfoGetTopUserSessionsResponse, - IPInfoListAttackedCountriesResponse, -) -``` - -Methods: - -- client.waap.ip_info.get_attack_time_series(\*\*params) -> IPInfoGetAttackTimeSeriesResponse -- client.waap.ip_info.get_blocked_requests(\*\*params) -> IPInfoGetBlockedRequestsResponse -- client.waap.ip_info.get_ddos_attack_series(\*\*params) -> WaapIPDDOSInfoModel -- client.waap.ip_info.get_ip_info(\*\*params) -> WaapIPInfo -- client.waap.ip_info.get_top_urls(\*\*params) -> IPInfoGetTopURLsResponse -- client.waap.ip_info.get_top_user_agents(\*\*params) -> IPInfoGetTopUserAgentsResponse -- client.waap.ip_info.get_top_user_sessions(\*\*params) -> IPInfoGetTopUserSessionsResponse -- client.waap.ip_info.list_attacked_countries(\*\*params) -> IPInfoListAttackedCountriesResponse - -### Metrics - -Types: - -```python -from gcore.types.waap.ip_info import WaapIPInfoCounts -``` - -Methods: - -- client.waap.ip_info.metrics.list(\*\*params) -> WaapIPInfoCounts - -# Iam - -Types: - -```python -from gcore.types.iam import AccountOverview -``` - -Methods: - -- client.iam.get_account_overview() -> AccountOverview - -## APITokens - -Types: - -```python -from gcore.types.iam import APIToken, APITokenCreated, APITokenList -``` - -Methods: - -- client.iam.api_tokens.create(client_id, \*\*params) -> APITokenCreated -- client.iam.api_tokens.list(client_id, \*\*params) -> APITokenList -- client.iam.api_tokens.delete(token_id, \*, client_id) -> None -- client.iam.api_tokens.get(token_id, \*, client_id) -> APIToken - -## Users - -Types: - -```python -from gcore.types.iam import User, UserDetailed, UserInvite, UserUpdated -``` - -Methods: - -- client.iam.users.update(user_id, \*\*params) -> UserUpdated -- client.iam.users.list(\*\*params) -> SyncOffsetPage[User] -- client.iam.users.delete(user_id, \*, client_id) -> None -- client.iam.users.get(user_id) -> UserDetailed -- client.iam.users.invite(\*\*params) -> UserInvite - -# Fastedge - -Types: - -```python -from gcore.types.fastedge import Client -``` - -Methods: - -- client.fastedge.get_account_overview() -> Client - -## Templates - -Types: - -```python -from gcore.types.fastedge import Template, TemplateParameter, TemplateShort -``` - -Methods: - -- client.fastedge.templates.create(\*\*params) -> TemplateShort -- client.fastedge.templates.list(\*\*params) -> SyncOffsetPageFastedgeTemplates[TemplateShort] -- client.fastedge.templates.delete(id, \*\*params) -> None -- client.fastedge.templates.get(id) -> Template -- client.fastedge.templates.replace(id, \*\*params) -> TemplateShort - -## Secrets - -Types: - -```python -from gcore.types.fastedge import Secret, SecretShort, SecretCreateResponse, SecretListResponse -``` - -Methods: - -- client.fastedge.secrets.create(\*\*params) -> SecretCreateResponse -- client.fastedge.secrets.update(id, \*\*params) -> Secret -- client.fastedge.secrets.list(\*\*params) -> SecretListResponse -- client.fastedge.secrets.delete(id, \*\*params) -> None -- client.fastedge.secrets.get(id) -> Secret -- client.fastedge.secrets.replace(id, \*\*params) -> Secret - -## Binaries - -Types: - -```python -from gcore.types.fastedge import Binary, BinaryShort, BinaryListResponse -``` - -Methods: - -- client.fastedge.binaries.create(body, \*\*params) -> BinaryShort -- client.fastedge.binaries.list() -> BinaryListResponse -- client.fastedge.binaries.delete(id) -> None -- client.fastedge.binaries.get(id) -> Binary - -## Statistics - -Types: - -```python -from gcore.types.fastedge import ( - CallStatus, - DurationStats, - StatisticGetCallSeriesResponse, - StatisticGetDurationSeriesResponse, -) -``` - -Methods: - -- client.fastedge.statistics.get_call_series(\*\*params) -> StatisticGetCallSeriesResponse -- client.fastedge.statistics.get_duration_series(\*\*params) -> StatisticGetDurationSeriesResponse - -## Apps - -Types: - -```python -from gcore.types.fastedge import App, AppShort -``` - -Methods: - -- client.fastedge.apps.create(\*\*params) -> AppShort -- client.fastedge.apps.update(id, \*\*params) -> AppShort -- client.fastedge.apps.list(\*\*params) -> SyncOffsetPageFastedgeApps[AppShort] -- client.fastedge.apps.delete(id) -> None -- client.fastedge.apps.get(id) -> App -- client.fastedge.apps.replace(id, \*\*params) -> AppShort - -### Logs - -Types: - -```python -from gcore.types.fastedge.apps import Log -``` - -Methods: - -- client.fastedge.apps.logs.list(id, \*\*params) -> SyncOffsetPageFastedgeAppLogs[Log] - -## KvStores - -Types: - -```python -from gcore.types.fastedge import KvStore, KvStoreShort, KvStoreCreateResponse, KvStoreListResponse -``` - -Methods: - -- client.fastedge.kv_stores.create(\*\*params) -> KvStoreCreateResponse -- client.fastedge.kv_stores.list(\*\*params) -> KvStoreListResponse -- client.fastedge.kv_stores.delete(id) -> None -- client.fastedge.kv_stores.get(id) -> KvStore -- client.fastedge.kv_stores.replace(id, \*\*params) -> KvStore - -# Streaming - -Types: - -```python -from gcore.types.streaming import CreateVideo, Video -``` - -## AITasks - -Types: - -```python -from gcore.types.streaming import ( - AIContentmoderationHardnudity, - AIContentmoderationNsfw, - AIContentmoderationSoftnudity, - AIContentmoderationSport, - AITask, - AITaskCreateResponse, - AITaskCancelResponse, - AITaskGetResponse, - AITaskGetAISettingsResponse, -) -``` - -Methods: - -- client.streaming.ai_tasks.create(\*\*params) -> AITaskCreateResponse -- client.streaming.ai_tasks.list(\*\*params) -> SyncPageStreamingAI[AITask] -- client.streaming.ai_tasks.cancel(task_id) -> AITaskCancelResponse -- client.streaming.ai_tasks.get(task_id) -> AITaskGetResponse -- client.streaming.ai_tasks.get_ai_settings(\*\*params) -> AITaskGetAISettingsResponse - -## Broadcasts - -Types: - -```python -from gcore.types.streaming import Broadcast, BroadcastSpectatorsCount -``` - -Methods: - -- client.streaming.broadcasts.create(\*\*params) -> None -- client.streaming.broadcasts.update(broadcast_id, \*\*params) -> Broadcast -- client.streaming.broadcasts.list(\*\*params) -> SyncPageStreaming[Broadcast] -- client.streaming.broadcasts.delete(broadcast_id) -> None -- client.streaming.broadcasts.get(broadcast_id) -> Broadcast -- client.streaming.broadcasts.get_spectators_count(broadcast_id) -> BroadcastSpectatorsCount - -## Directories - -Types: - -```python -from gcore.types.streaming import ( - DirectoriesTree, - DirectoryBase, - DirectoryItem, - DirectoryVideo, - DirectoryGetResponse, -) -``` - -Methods: - -- client.streaming.directories.create(\*\*params) -> DirectoryBase -- client.streaming.directories.update(directory_id, \*\*params) -> DirectoryBase -- client.streaming.directories.delete(directory_id) -> None -- client.streaming.directories.get(directory_id) -> DirectoryGetResponse -- client.streaming.directories.get_tree() -> DirectoriesTree - -## Players - -Types: - -```python -from gcore.types.streaming import Player -``` - -Methods: - -- client.streaming.players.create(\*\*params) -> None -- client.streaming.players.update(player_id, \*\*params) -> Player -- client.streaming.players.list(\*\*params) -> SyncPageStreaming[Player] -- client.streaming.players.delete(player_id) -> None -- client.streaming.players.get(player_id) -> Player -- client.streaming.players.preview(player_id) -> None - -## QualitySets - -Types: - -```python -from gcore.types.streaming import QualitySets -``` - -Methods: - -- client.streaming.quality_sets.list() -> QualitySets -- client.streaming.quality_sets.set_default(\*\*params) -> QualitySets - -## Playlists - -Types: - -```python -from gcore.types.streaming import ( - Playlist, - PlaylistCreated, - PlaylistVideo, - PlaylistListVideosResponse, -) -``` - -Methods: - -- client.streaming.playlists.create(\*\*params) -> PlaylistCreated -- client.streaming.playlists.update(playlist_id, \*\*params) -> Playlist -- client.streaming.playlists.list(\*\*params) -> SyncPageStreaming[Playlist] -- client.streaming.playlists.delete(playlist_id) -> None -- client.streaming.playlists.get(playlist_id) -> Playlist -- client.streaming.playlists.list_videos(playlist_id) -> PlaylistListVideosResponse - -## Videos - -Types: - -```python -from gcore.types.streaming import ( - DirectUploadParameters, - Subtitle, - SubtitleBase, - SubtitleBody, - SubtitleUpdated, - VideoCreateResponse, - VideoCreateMultipleResponse, -) -``` - -Methods: - -- client.streaming.videos.create(\*\*params) -> VideoCreateResponse -- client.streaming.videos.update(video_id, \*\*params) -> Video -- client.streaming.videos.list(\*\*params) -> SyncPageStreaming[Video] -- client.streaming.videos.delete(video_id) -> None -- client.streaming.videos.create_multiple(\*\*params) -> VideoCreateMultipleResponse -- client.streaming.videos.get(video_id) -> Video -- client.streaming.videos.get_parameters_for_direct_upload(video_id) -> DirectUploadParameters -- client.streaming.videos.list_names(\*\*params) -> None - -### Subtitles - -Types: - -```python -from gcore.types.streaming.videos import SubtitleListResponse -``` - -Methods: - -- client.streaming.videos.subtitles.create(video_id, \*\*params) -> Subtitle -- client.streaming.videos.subtitles.update(id, \*, video_id, \*\*params) -> SubtitleBase -- client.streaming.videos.subtitles.list(video_id) -> SubtitleListResponse -- client.streaming.videos.subtitles.delete(id, \*, video_id) -> None -- client.streaming.videos.subtitles.get(id, \*, video_id) -> Subtitle - -## Streams - -Types: - -```python -from gcore.types.streaming import ( - Clip, - Stream, - StreamListClipsResponse, - StreamStartRecordingResponse, -) -``` - -Methods: - -- client.streaming.streams.create(\*\*params) -> Stream -- client.streaming.streams.update(stream_id, \*\*params) -> Stream -- client.streaming.streams.list(\*\*params) -> SyncPageStreaming[Stream] -- client.streaming.streams.delete(stream_id) -> None -- client.streaming.streams.clear_dvr(stream_id) -> None -- client.streaming.streams.create_clip(stream_id, \*\*params) -> Clip -- client.streaming.streams.get(stream_id) -> Stream -- client.streaming.streams.list_clips(stream_id) -> StreamListClipsResponse -- client.streaming.streams.start_recording(stream_id) -> StreamStartRecordingResponse -- client.streaming.streams.stop_recording(stream_id) -> Video - -### Overlays - -Types: - -```python -from gcore.types.streaming.streams import ( - Overlay, - OverlayCreateResponse, - OverlayListResponse, - OverlayUpdateMultipleResponse, -) -``` - -Methods: - -- client.streaming.streams.overlays.create(stream_id, \*\*params) -> OverlayCreateResponse -- client.streaming.streams.overlays.update(overlay_id, \*, stream_id, \*\*params) -> Overlay -- client.streaming.streams.overlays.list(stream_id) -> OverlayListResponse -- client.streaming.streams.overlays.delete(overlay_id, \*, stream_id) -> None -- client.streaming.streams.overlays.get(overlay_id, \*, stream_id) -> Overlay -- client.streaming.streams.overlays.update_multiple(stream_id, \*\*params) -> OverlayUpdateMultipleResponse - -## Restreams - -Types: - -```python -from gcore.types.streaming import Restream -``` - -Methods: - -- client.streaming.restreams.create(\*\*params) -> None -- client.streaming.restreams.update(restream_id, \*\*params) -> Restream -- client.streaming.restreams.list(\*\*params) -> SyncPageStreaming[Restream] -- client.streaming.restreams.delete(restream_id) -> None -- client.streaming.restreams.get(restream_id) -> Restream - -## Statistics - -Types: - -```python -from gcore.types.streaming import ( - Ffprobes, - MaxStreamSeries, - PopularVideos, - StorageSeries, - StreamSeries, - UniqueViewers, - UniqueViewersCDN, - Views, - ViewsByBrowser, - ViewsByCountry, - ViewsByHostname, - ViewsByOperatingSystem, - ViewsByReferer, - ViewsByRegion, - ViewsHeatmap, - VodStatisticsSeries, - VodTotalStreamDurationSeries, - StatisticGetLiveUniqueViewersResponse, - StatisticGetVodWatchTimeTotalCDNResponse, -) -``` - -Methods: - -- client.streaming.statistics.get_ffprobes(\*\*params) -> Ffprobes -- client.streaming.statistics.get_live_unique_viewers(\*\*params) -> StatisticGetLiveUniqueViewersResponse -- client.streaming.statistics.get_live_watch_time_cdn(\*\*params) -> StreamSeries -- client.streaming.statistics.get_live_watch_time_total_cdn(\*\*params) -> VodTotalStreamDurationSeries -- client.streaming.statistics.get_max_streams_series(\*\*params) -> MaxStreamSeries -- client.streaming.statistics.get_popular_videos(\*\*params) -> PopularVideos -- client.streaming.statistics.get_storage_series(\*\*params) -> StorageSeries -- client.streaming.statistics.get_stream_series(\*\*params) -> StreamSeries -- client.streaming.statistics.get_unique_viewers(\*\*params) -> UniqueViewers -- client.streaming.statistics.get_unique_viewers_cdn(\*\*params) -> UniqueViewersCDN -- client.streaming.statistics.get_views(\*\*params) -> Views -- client.streaming.statistics.get_views_by_browsers(\*\*params) -> ViewsByBrowser -- client.streaming.statistics.get_views_by_country(\*\*params) -> ViewsByCountry -- client.streaming.statistics.get_views_by_hostname(\*\*params) -> ViewsByHostname -- client.streaming.statistics.get_views_by_operating_system(\*\*params) -> ViewsByOperatingSystem -- client.streaming.statistics.get_views_by_referer(\*\*params) -> ViewsByReferer -- client.streaming.statistics.get_views_by_region(\*\*params) -> ViewsByRegion -- client.streaming.statistics.get_views_heatmap(\*\*params) -> ViewsHeatmap -- client.streaming.statistics.get_vod_storage_volume(\*\*params) -> VodStatisticsSeries -- client.streaming.statistics.get_vod_transcoding_duration(\*\*params) -> VodStatisticsSeries -- client.streaming.statistics.get_vod_unique_viewers_cdn(\*\*params) -> VodStatisticsSeries -- client.streaming.statistics.get_vod_watch_time_cdn(\*\*params) -> VodStatisticsSeries -- client.streaming.statistics.get_vod_watch_time_total_cdn(\*\*params) -> StatisticGetVodWatchTimeTotalCDNResponse - -# Security - -## Events - -Types: - -```python -from gcore.types.security import ClientView -``` - -Methods: - -- client.security.events.list(\*\*params) -> SyncOffsetPage[ClientView] - -## BgpAnnounces - -Types: - -```python -from gcore.types.security import ClientAnnounce, BgpAnnounceListResponse -``` - -Methods: - -- client.security.bgp_announces.list(\*\*params) -> BgpAnnounceListResponse -- client.security.bgp_announces.toggle(\*\*params) -> object - -## ProfileTemplates - -Types: - -```python -from gcore.types.security import ClientProfileTemplate, ProfileTemplateListResponse -``` - -Methods: - -- client.security.profile_templates.list() -> ProfileTemplateListResponse - -## Profiles - -Types: - -```python -from gcore.types.security import ClientProfile, ProfileListResponse -``` - -Methods: - -- client.security.profiles.create(\*\*params) -> ClientProfile -- client.security.profiles.list(\*\*params) -> ProfileListResponse -- client.security.profiles.delete(id) -> None -- client.security.profiles.get(id) -> ClientProfile -- client.security.profiles.recreate(id, \*\*params) -> ClientProfile -- client.security.profiles.replace(id, \*\*params) -> ClientProfile - -# DNS - -Types: - -```python -from gcore.types.dns import DNSGetAccountOverviewResponse, DNSLookupResponse -``` - -Methods: - -- client.dns.get_account_overview() -> DNSGetAccountOverviewResponse -- client.dns.lookup(\*\*params) -> DNSLookupResponse - -## Locations - -Types: - -```python -from gcore.types.dns import ( - DNSLocationTranslations, - LocationListResponse, - LocationListContinentsResponse, - LocationListCountriesResponse, - LocationListRegionsResponse, -) -``` - -Methods: - -- client.dns.locations.list() -> LocationListResponse -- client.dns.locations.list_continents() -> LocationListContinentsResponse -- client.dns.locations.list_countries() -> LocationListCountriesResponse -- client.dns.locations.list_regions() -> LocationListRegionsResponse - -## Metrics - -Types: - -```python -from gcore.types.dns import MetricListResponse -``` - -Methods: - -- client.dns.metrics.list(\*\*params) -> str - -## Pickers - -Types: - -```python -from gcore.types.dns import DNSLabelName, PickerListResponse -``` - -Methods: - -- client.dns.pickers.list() -> PickerListResponse - -### Presets - -Types: - -```python -from gcore.types.dns.pickers import PresetListResponse -``` - -Methods: - -- client.dns.pickers.presets.list() -> PresetListResponse - -## Zones - -Types: - -```python -from gcore.types.dns import ( - DNSNameServer, - ZoneCreateResponse, - ZoneListResponse, - ZoneCheckDelegationStatusResponse, - ZoneExportResponse, - ZoneGetResponse, - ZoneGetStatisticsResponse, - ZoneImportResponse, -) -``` - -Methods: - -- client.dns.zones.create(\*\*params) -> ZoneCreateResponse -- client.dns.zones.list(\*\*params) -> ZoneListResponse -- client.dns.zones.delete(name) -> object -- client.dns.zones.check_delegation_status(name) -> ZoneCheckDelegationStatusResponse -- client.dns.zones.disable(name) -> object -- client.dns.zones.enable(name) -> object -- client.dns.zones.export(zone_name) -> ZoneExportResponse -- client.dns.zones.get(name) -> ZoneGetResponse -- client.dns.zones.get_statistics(name, \*\*params) -> ZoneGetStatisticsResponse -- client.dns.zones.import\_(zone_name, \*\*params) -> ZoneImportResponse -- client.dns.zones.replace(path_name, \*\*params) -> object - -### Dnssec - -Types: - -```python -from gcore.types.dns.zones import DnssecUpdateResponse, DnssecGetResponse -``` - -Methods: - -- client.dns.zones.dnssec.update(name, \*\*params) -> DnssecUpdateResponse -- client.dns.zones.dnssec.get(name) -> DnssecGetResponse - -### Rrsets - -Types: - -```python -from gcore.types.dns.zones import ( - DNSFailoverLog, - DNSOutputRrset, - RrsetListResponse, - RrsetGetFailoverLogsResponse, -) -``` - -Methods: - -- client.dns.zones.rrsets.create(rrset_type, \*, zone_name, rrset_name, \*\*params) -> DNSOutputRrset -- client.dns.zones.rrsets.list(zone_name, \*\*params) -> RrsetListResponse -- client.dns.zones.rrsets.delete(rrset_type, \*, zone_name, rrset_name) -> object -- client.dns.zones.rrsets.get(rrset_type, \*, zone_name, rrset_name) -> DNSOutputRrset -- client.dns.zones.rrsets.get_failover_logs(rrset_type, \*, zone_name, rrset_name, \*\*params) -> RrsetGetFailoverLogsResponse -- client.dns.zones.rrsets.replace(rrset_type, \*, zone_name, rrset_name, \*\*params) -> DNSOutputRrset - -## NetworkMappings - -Types: - -```python -from gcore.types.dns import ( - DNSMappingEntry, - DNSNetworkMapping, - NetworkMappingCreateResponse, - NetworkMappingListResponse, - NetworkMappingImportResponse, -) -``` - -Methods: - -- client.dns.network_mappings.create(\*\*params) -> NetworkMappingCreateResponse -- client.dns.network_mappings.list(\*\*params) -> NetworkMappingListResponse -- client.dns.network_mappings.delete(id) -> object -- client.dns.network_mappings.get(id) -> DNSNetworkMapping -- client.dns.network_mappings.get_by_name(name) -> DNSNetworkMapping -- client.dns.network*mappings.import*() -> NetworkMappingImportResponse -- client.dns.network_mappings.replace(id, \*\*params) -> object - -# Storage - -Types: - -```python -from gcore.types.storage import Storage -``` - -Methods: - -- client.storage.create(\*\*params) -> Storage -- client.storage.update(storage_id, \*\*params) -> Storage -- client.storage.list(\*\*params) -> SyncOffsetPage[Storage] -- client.storage.delete(storage_id) -> None -- client.storage.get(storage_id) -> Storage -- client.storage.link_ssh_key(key_id, \*, storage_id) -> None -- client.storage.restore(storage_id, \*\*params) -> None -- client.storage.unlink_ssh_key(key_id, \*, storage_id) -> None - -## Locations - -Types: - -```python -from gcore.types.storage import Location -``` - -Methods: - -- client.storage.locations.list(\*\*params) -> SyncOffsetPage[Location] - -## Statistics - -Types: - -```python -from gcore.types.storage import UsageSeries, UsageTotal, StatisticGetUsageSeriesResponse -``` - -Methods: - -- client.storage.statistics.get_usage_aggregated(\*\*params) -> UsageTotal -- client.storage.statistics.get_usage_series(\*\*params) -> StatisticGetUsageSeriesResponse - -## Credentials - -Methods: - -- client.storage.credentials.recreate(storage_id, \*\*params) -> Storage - -## Buckets - -Types: - -```python -from gcore.types.storage import Bucket -``` - -Methods: - -- client.storage.buckets.create(bucket_name, \*, storage_id) -> None -- client.storage.buckets.list(storage_id, \*\*params) -> SyncOffsetPage[Bucket] -- client.storage.buckets.delete(bucket_name, \*, storage_id) -> None - -### Cors - -Types: - -```python -from gcore.types.storage.buckets import BucketCors -``` - -Methods: - -- client.storage.buckets.cors.create(bucket_name, \*, storage_id, \*\*params) -> None -- client.storage.buckets.cors.get(bucket_name, \*, storage_id) -> BucketCors - -### Lifecycle - -Methods: - -- client.storage.buckets.lifecycle.create(bucket_name, \*, storage_id, \*\*params) -> None -- client.storage.buckets.lifecycle.delete(bucket_name, \*, storage_id) -> None - -### Policy - -Types: - -```python -from gcore.types.storage.buckets import BucketPolicy, PolicyGetResponse -``` - -Methods: - -- client.storage.buckets.policy.create(bucket_name, \*, storage_id) -> None -- client.storage.buckets.policy.delete(bucket_name, \*, storage_id) -> None -- client.storage.buckets.policy.get(bucket_name, \*, storage_id) -> PolicyGetResponse - -# CDN - -Types: - -```python -from gcore.types.cdn import ( - AlibabaRegions, - AwsRegions, - CDNAccount, - CDNAccountLimits, - CDNAvailableFeatures, - PurgeStatus, - CDNListPurgeStatusesResponse, -) -``` - -Methods: - -- client.cdn.get_account_limits() -> CDNAccountLimits -- client.cdn.get_account_overview() -> CDNAccount -- client.cdn.get_available_features() -> CDNAvailableFeatures -- client.cdn.list_alibaba_regions() -> AlibabaRegions -- client.cdn.list_aws_regions() -> AwsRegions -- client.cdn.list_purge_statuses(\*\*params) -> CDNListPurgeStatusesResponse -- client.cdn.update_account(\*\*params) -> CDNAccount - -## CDNResources - -Types: - -```python -from gcore.types.cdn import CDNResource, CDNResourceList -``` - -Methods: - -- client.cdn.cdn_resources.create(\*\*params) -> CDNResource -- client.cdn.cdn_resources.update(resource_id, \*\*params) -> CDNResource -- client.cdn.cdn_resources.list(\*\*params) -> CDNResourceList -- client.cdn.cdn_resources.delete(resource_id) -> None -- client.cdn.cdn_resources.get(resource_id) -> CDNResource -- client.cdn.cdn_resources.prefetch(resource_id, \*\*params) -> None -- client.cdn.cdn_resources.prevalidate_ssl_le_certificate(resource_id) -> None -- client.cdn.cdn_resources.purge(resource_id, \*\*params) -> None -- client.cdn.cdn_resources.replace(resource_id, \*\*params) -> CDNResource - -### Shield - -Types: - -```python -from gcore.types.cdn.cdn_resources import OriginShielding, OriginShieldingReplaced -``` - -Methods: - -- client.cdn.cdn_resources.shield.get(resource_id) -> OriginShielding -- client.cdn.cdn_resources.shield.replace(resource_id, \*\*params) -> object - -### Rules - -Types: - -```python -from gcore.types.cdn.cdn_resources import CDNResourceRule, RuleListResponse -``` - -Methods: - -- client.cdn.cdn_resources.rules.create(resource_id, \*\*params) -> CDNResourceRule -- client.cdn.cdn_resources.rules.update(rule_id, \*, resource_id, \*\*params) -> CDNResourceRule -- client.cdn.cdn_resources.rules.list(resource_id) -> RuleListResponse -- client.cdn.cdn_resources.rules.delete(rule_id, \*, resource_id) -> None -- client.cdn.cdn_resources.rules.get(rule_id, \*, resource_id) -> CDNResourceRule -- client.cdn.cdn_resources.rules.replace(rule_id, \*, resource_id, \*\*params) -> CDNResourceRule - -## Shields - -Types: - -```python -from gcore.types.cdn import ShieldListResponse -``` - -Methods: - -- client.cdn.shields.list() -> ShieldListResponse - -## OriginGroups - -Types: - -```python -from gcore.types.cdn import OriginGroups, OriginGroupsList -``` - -Methods: - -- client.cdn.origin_groups.create(\*\*params) -> OriginGroups -- client.cdn.origin_groups.update(origin_group_id, \*\*params) -> OriginGroups -- client.cdn.origin_groups.list(\*\*params) -> OriginGroupsList -- client.cdn.origin_groups.delete(origin_group_id) -> None -- client.cdn.origin_groups.get(origin_group_id) -> OriginGroups -- client.cdn.origin_groups.replace(origin_group_id, \*\*params) -> OriginGroups - -## RuleTemplates - -Types: - -```python -from gcore.types.cdn import RuleTemplate, RuleTemplateList -``` - -Methods: - -- client.cdn.rule_templates.create(\*\*params) -> RuleTemplate -- client.cdn.rule_templates.update(rule_template_id, \*\*params) -> RuleTemplate -- client.cdn.rule_templates.list() -> RuleTemplateList -- client.cdn.rule_templates.delete(rule_template_id) -> None -- client.cdn.rule_templates.get(rule_template_id) -> RuleTemplate -- client.cdn.rule_templates.replace(rule_template_id, \*\*params) -> RuleTemplate - -## Certificates - -Types: - -```python -from gcore.types.cdn import SslDetail, SslDetailList, SslRequestStatus -``` - -Methods: - -- client.cdn.certificates.create(\*\*params) -> None -- client.cdn.certificates.list(\*\*params) -> SslDetailList -- client.cdn.certificates.delete(ssl_id) -> None -- client.cdn.certificates.force_retry(cert_id) -> None -- client.cdn.certificates.get(ssl_id) -> SslDetail -- client.cdn.certificates.get_status(cert_id, \*\*params) -> SslRequestStatus -- client.cdn.certificates.renew(cert_id) -> None -- client.cdn.certificates.replace(ssl_id, \*\*params) -> SslDetail - -## TrustedCaCertificates - -Types: - -```python -from gcore.types.cdn import CaCertificate, CaCertificateList -``` - -Methods: - -- client.cdn.trusted_ca_certificates.create(\*\*params) -> CaCertificate -- client.cdn.trusted_ca_certificates.list(\*\*params) -> CaCertificateList -- client.cdn.trusted_ca_certificates.delete(id) -> None -- client.cdn.trusted_ca_certificates.get(id) -> CaCertificate -- client.cdn.trusted_ca_certificates.replace(id, \*\*params) -> CaCertificate - -## AuditLogs - -Types: - -```python -from gcore.types.cdn import CDNAuditLogEntry -``` - -Methods: - -- client.cdn.audit_logs.list(\*\*params) -> SyncOffsetPage[CDNAuditLogEntry] -- client.cdn.audit_logs.get(log_id) -> CDNAuditLogEntry - -## Logs - -Types: - -```python -from gcore.types.cdn import CDNLogEntry -``` - -Methods: - -- client.cdn.logs.list(\*\*params) -> SyncOffsetPageCDNLogs[Data] -- client.cdn.logs.download(\*\*params) -> BinaryAPIResponse - -## LogsUploader - -Types: - -```python -from gcore.types.cdn import LogsUploaderValidation -``` - -### Policies - -Types: - -```python -from gcore.types.cdn.logs_uploader import ( - LogsUploaderPolicy, - LogsUploaderPolicyList, - PolicyListFieldsResponse, -) -``` - -Methods: - -- client.cdn.logs_uploader.policies.create(\*\*params) -> LogsUploaderPolicy -- client.cdn.logs_uploader.policies.update(id, \*\*params) -> LogsUploaderPolicy -- client.cdn.logs_uploader.policies.list(\*\*params) -> LogsUploaderPolicyList -- client.cdn.logs_uploader.policies.delete(id) -> None -- client.cdn.logs_uploader.policies.get(id) -> LogsUploaderPolicy -- client.cdn.logs_uploader.policies.list_fields() -> PolicyListFieldsResponse -- client.cdn.logs_uploader.policies.replace(id, \*\*params) -> LogsUploaderPolicy - -### Targets - -Types: - -```python -from gcore.types.cdn.logs_uploader import LogsUploaderTarget, LogsUploaderTargetList -``` - -Methods: - -- client.cdn.logs_uploader.targets.create(\*\*params) -> LogsUploaderTarget -- client.cdn.logs_uploader.targets.update(id, \*\*params) -> LogsUploaderTarget -- client.cdn.logs_uploader.targets.list(\*\*params) -> LogsUploaderTargetList -- client.cdn.logs_uploader.targets.delete(id) -> None -- client.cdn.logs_uploader.targets.get(id) -> LogsUploaderTarget -- client.cdn.logs_uploader.targets.replace(id, \*\*params) -> LogsUploaderTarget -- client.cdn.logs_uploader.targets.validate(id) -> LogsUploaderValidation - -### Configs - -Types: - -```python -from gcore.types.cdn.logs_uploader import LogsUploaderConfig, LogsUploaderConfigList -``` - -Methods: - -- client.cdn.logs_uploader.configs.create(\*\*params) -> LogsUploaderConfig -- client.cdn.logs_uploader.configs.update(id, \*\*params) -> LogsUploaderConfig -- client.cdn.logs_uploader.configs.list(\*\*params) -> LogsUploaderConfigList -- client.cdn.logs_uploader.configs.delete(id) -> None -- client.cdn.logs_uploader.configs.get(id) -> LogsUploaderConfig -- client.cdn.logs_uploader.configs.replace(id, \*\*params) -> LogsUploaderConfig -- client.cdn.logs_uploader.configs.validate(id) -> LogsUploaderValidation - -## Statistics - -Types: - -```python -from gcore.types.cdn import ( - LogsAggregatedStats, - ResourceAggregatedStats, - ResourceUsageStats, - ShieldAggregatedStats, - UsageSeriesStats, -) -``` - -Methods: - -- client.cdn.statistics.get_logs_usage_aggregated(\*\*params) -> LogsAggregatedStats -- client.cdn.statistics.get_logs_usage_series(\*\*params) -> UsageSeriesStats -- client.cdn.statistics.get_resource_usage_aggregated(\*\*params) -> ResourceAggregatedStats -- client.cdn.statistics.get_resource_usage_series(\*\*params) -> ResourceUsageStats -- client.cdn.statistics.get_shield_usage_aggregated(\*\*params) -> ShieldAggregatedStats -- client.cdn.statistics.get_shield_usage_series(\*\*params) -> UsageSeriesStats - -## NetworkCapacity - -Types: - -```python -from gcore.types.cdn import NetworkCapacity -``` - -Methods: - -- client.cdn.network_capacity.list() -> NetworkCapacity - -## Metrics - -Types: - -```python -from gcore.types.cdn import CDNMetrics, CDNMetricsGroups, CDNMetricsValues -``` - -Methods: - -- client.cdn.metrics.list(\*\*params) -> CDNMetrics - -## IPRanges - -Types: - -```python -from gcore.types.cdn import PublicIPList, PublicNetworkList -``` - -Methods: - -- client.cdn.ip_ranges.list(\*\*params) -> PublicNetworkList -- client.cdn.ip_ranges.list_ips(\*\*params) -> PublicIPList +# [CDN](src/gcore/resources/cdn/api.md) diff --git a/examples/cloud/security_groups.py b/examples/cloud/security_groups.py index 6188d57e..a591ac2d 100644 --- a/examples/cloud/security_groups.py +++ b/examples/cloud/security_groups.py @@ -87,7 +87,7 @@ def delete_security_group(*, client: Gcore, security_group_id: str) -> None: def create_security_group_rule(*, client: Gcore, security_group_id: str) -> str: print("\n=== CREATE SECURITY GROUP RULE ===") - rule = client.cloud.security_groups.rules.create( + rule = client.cloud.security_groups.rules.create( # pyright: ignore[reportDeprecated] group_id=security_group_id, direction="ingress", protocol="tcp", @@ -104,7 +104,7 @@ def create_security_group_rule(*, client: Gcore, security_group_id: str) -> str: def replace_security_group_rule(*, client: Gcore, rule_id: str, security_group_id: str) -> str: print("\n=== REPLACE SECURITY GROUP RULE ===") - rule = client.cloud.security_groups.rules.replace( + rule = client.cloud.security_groups.rules.replace( # pyright: ignore[reportDeprecated] rule_id=rule_id, direction="ingress", security_group_id=security_group_id, @@ -122,7 +122,7 @@ def replace_security_group_rule(*, client: Gcore, rule_id: str, security_group_i def delete_security_group_rule(*, client: Gcore, rule_id: str) -> None: print("\n=== DELETE SECURITY GROUP RULE ===") - client.cloud.security_groups.rules.delete(rule_id=rule_id) + client.cloud.security_groups.rules.delete(rule_id=rule_id) # pyright: ignore[reportDeprecated] print(f"Deleted security group rule: ID={rule_id}") print("========================") diff --git a/examples/cloud/security_groups_async.py b/examples/cloud/security_groups_async.py index 29ed42ad..601e14e4 100644 --- a/examples/cloud/security_groups_async.py +++ b/examples/cloud/security_groups_async.py @@ -90,7 +90,7 @@ async def delete_security_group(*, client: AsyncGcore, security_group_id: str) - async def create_security_group_rule(*, client: AsyncGcore, security_group_id: str) -> str: print("\n=== CREATE SECURITY GROUP RULE ===") - rule = await client.cloud.security_groups.rules.create( + rule = await client.cloud.security_groups.rules.create( # pyright: ignore[reportDeprecated] group_id=security_group_id, direction="ingress", protocol="tcp", @@ -107,7 +107,7 @@ async def create_security_group_rule(*, client: AsyncGcore, security_group_id: s async def replace_security_group_rule(*, client: AsyncGcore, rule_id: str, security_group_id: str) -> str: print("\n=== REPLACE SECURITY GROUP RULE ===") - rule = await client.cloud.security_groups.rules.replace( + rule = await client.cloud.security_groups.rules.replace( # pyright: ignore[reportDeprecated] rule_id=rule_id, direction="ingress", security_group_id=security_group_id, @@ -125,7 +125,7 @@ async def replace_security_group_rule(*, client: AsyncGcore, rule_id: str, secur async def delete_security_group_rule(*, client: AsyncGcore, rule_id: str) -> None: print("\n=== DELETE SECURITY GROUP RULE ===") - await client.cloud.security_groups.rules.delete(rule_id=rule_id) + await client.cloud.security_groups.rules.delete(rule_id=rule_id) # pyright: ignore[reportDeprecated] print(f"Deleted security group rule: ID={rule_id}") print("========================") diff --git a/pyproject.toml b/pyproject.toml index 4b9b2d7c..3c044082 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "gcore" -version = "0.32.0" +version = "0.33.0" description = "The official Python library for the gcore API" dynamic = ["readme"] license = "Apache-2.0" @@ -71,7 +71,7 @@ format = { chain = [ # run formatting again to fix any inconsistencies when imports are stripped "format:ruff", ]} -"format:docs" = "python scripts/utils/ruffen-docs.py README.md api.md" +"format:docs" = "bash -c 'python scripts/utils/ruffen-docs.py README.md $(find . -type f -name api.md)'" "format:ruff" = "ruff format" "lint" = { chain = [ diff --git a/src/gcore/_version.py b/src/gcore/_version.py index 0211e7f4..f2c32ca0 100644 --- a/src/gcore/_version.py +++ b/src/gcore/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "gcore" -__version__ = "0.32.0" # x-release-please-version +__version__ = "0.33.0" # x-release-please-version diff --git a/src/gcore/resources/cdn/api.md b/src/gcore/resources/cdn/api.md new file mode 100644 index 00000000..70919175 --- /dev/null +++ b/src/gcore/resources/cdn/api.md @@ -0,0 +1,308 @@ +# CDN + +Types: + +```python +from gcore.types.cdn import ( + AlibabaRegions, + AwsRegions, + CDNAccount, + CDNAccountLimits, + CDNAvailableFeatures, + PurgeStatus, + CDNListPurgeStatusesResponse, +) +``` + +Methods: + +- client.cdn.get_account_limits() -> CDNAccountLimits +- client.cdn.get_account_overview() -> CDNAccount +- client.cdn.get_available_features() -> CDNAvailableFeatures +- client.cdn.list_alibaba_regions() -> AlibabaRegions +- client.cdn.list_aws_regions() -> AwsRegions +- client.cdn.list_purge_statuses(\*\*params) -> CDNListPurgeStatusesResponse +- client.cdn.update_account(\*\*params) -> CDNAccount + +## CDNResources + +Types: + +```python +from gcore.types.cdn import CDNResource, CDNResourceList +``` + +Methods: + +- client.cdn.cdn_resources.create(\*\*params) -> CDNResource +- client.cdn.cdn_resources.update(resource_id, \*\*params) -> CDNResource +- client.cdn.cdn_resources.list(\*\*params) -> CDNResourceList +- client.cdn.cdn_resources.delete(resource_id) -> None +- client.cdn.cdn_resources.get(resource_id) -> CDNResource +- client.cdn.cdn_resources.prefetch(resource_id, \*\*params) -> None +- client.cdn.cdn_resources.prevalidate_ssl_le_certificate(resource_id) -> None +- client.cdn.cdn_resources.purge(resource_id, \*\*params) -> None +- client.cdn.cdn_resources.replace(resource_id, \*\*params) -> CDNResource + +### Shield + +Types: + +```python +from gcore.types.cdn.cdn_resources import OriginShielding, OriginShieldingReplaced +``` + +Methods: + +- client.cdn.cdn_resources.shield.get(resource_id) -> OriginShielding +- client.cdn.cdn_resources.shield.replace(resource_id, \*\*params) -> object + +### Rules + +Types: + +```python +from gcore.types.cdn.cdn_resources import CDNResourceRule, RuleListResponse +``` + +Methods: + +- client.cdn.cdn_resources.rules.create(resource_id, \*\*params) -> CDNResourceRule +- client.cdn.cdn_resources.rules.update(rule_id, \*, resource_id, \*\*params) -> CDNResourceRule +- client.cdn.cdn_resources.rules.list(resource_id) -> RuleListResponse +- client.cdn.cdn_resources.rules.delete(rule_id, \*, resource_id) -> None +- client.cdn.cdn_resources.rules.get(rule_id, \*, resource_id) -> CDNResourceRule +- client.cdn.cdn_resources.rules.replace(rule_id, \*, resource_id, \*\*params) -> CDNResourceRule + +## Shields + +Types: + +```python +from gcore.types.cdn import ShieldListResponse +``` + +Methods: + +- client.cdn.shields.list() -> ShieldListResponse + +## OriginGroups + +Types: + +```python +from gcore.types.cdn import OriginGroups, OriginGroupsList +``` + +Methods: + +- client.cdn.origin_groups.create(\*\*params) -> OriginGroups +- client.cdn.origin_groups.update(origin_group_id, \*\*params) -> OriginGroups +- client.cdn.origin_groups.list(\*\*params) -> OriginGroupsList +- client.cdn.origin_groups.delete(origin_group_id) -> None +- client.cdn.origin_groups.get(origin_group_id) -> OriginGroups +- client.cdn.origin_groups.replace(origin_group_id, \*\*params) -> OriginGroups + +## RuleTemplates + +Types: + +```python +from gcore.types.cdn import RuleTemplate, RuleTemplateList +``` + +Methods: + +- client.cdn.rule_templates.create(\*\*params) -> RuleTemplate +- client.cdn.rule_templates.update(rule_template_id, \*\*params) -> RuleTemplate +- client.cdn.rule_templates.list() -> RuleTemplateList +- client.cdn.rule_templates.delete(rule_template_id) -> None +- client.cdn.rule_templates.get(rule_template_id) -> RuleTemplate +- client.cdn.rule_templates.replace(rule_template_id, \*\*params) -> RuleTemplate + +## Certificates + +Types: + +```python +from gcore.types.cdn import SslDetail, SslDetailList, SslRequestStatus +``` + +Methods: + +- client.cdn.certificates.create(\*\*params) -> None +- client.cdn.certificates.list(\*\*params) -> SslDetailList +- client.cdn.certificates.delete(ssl_id) -> None +- client.cdn.certificates.force_retry(cert_id) -> None +- client.cdn.certificates.get(ssl_id) -> SslDetail +- client.cdn.certificates.get_status(cert_id, \*\*params) -> SslRequestStatus +- client.cdn.certificates.renew(cert_id) -> None +- client.cdn.certificates.replace(ssl_id, \*\*params) -> SslDetail + +## TrustedCaCertificates + +Types: + +```python +from gcore.types.cdn import CaCertificate, CaCertificateList +``` + +Methods: + +- client.cdn.trusted_ca_certificates.create(\*\*params) -> CaCertificate +- client.cdn.trusted_ca_certificates.list(\*\*params) -> CaCertificateList +- client.cdn.trusted_ca_certificates.delete(id) -> None +- client.cdn.trusted_ca_certificates.get(id) -> CaCertificate +- client.cdn.trusted_ca_certificates.replace(id, \*\*params) -> CaCertificate + +## AuditLogs + +Types: + +```python +from gcore.types.cdn import CDNAuditLogEntry +``` + +Methods: + +- client.cdn.audit_logs.list(\*\*params) -> SyncOffsetPage[CDNAuditLogEntry] +- client.cdn.audit_logs.get(log_id) -> CDNAuditLogEntry + +## Logs + +Types: + +```python +from gcore.types.cdn import CDNLogEntry +``` + +Methods: + +- client.cdn.logs.list(\*\*params) -> SyncOffsetPageCDNLogs[Data] +- client.cdn.logs.download(\*\*params) -> BinaryAPIResponse + +## LogsUploader + +Types: + +```python +from gcore.types.cdn import LogsUploaderValidation +``` + +### Policies + +Types: + +```python +from gcore.types.cdn.logs_uploader import ( + LogsUploaderPolicy, + LogsUploaderPolicyList, + PolicyListFieldsResponse, +) +``` + +Methods: + +- client.cdn.logs_uploader.policies.create(\*\*params) -> LogsUploaderPolicy +- client.cdn.logs_uploader.policies.update(id, \*\*params) -> LogsUploaderPolicy +- client.cdn.logs_uploader.policies.list(\*\*params) -> LogsUploaderPolicyList +- client.cdn.logs_uploader.policies.delete(id) -> None +- client.cdn.logs_uploader.policies.get(id) -> LogsUploaderPolicy +- client.cdn.logs_uploader.policies.list_fields() -> PolicyListFieldsResponse +- client.cdn.logs_uploader.policies.replace(id, \*\*params) -> LogsUploaderPolicy + +### Targets + +Types: + +```python +from gcore.types.cdn.logs_uploader import LogsUploaderTarget, LogsUploaderTargetList +``` + +Methods: + +- client.cdn.logs_uploader.targets.create(\*\*params) -> LogsUploaderTarget +- client.cdn.logs_uploader.targets.update(id, \*\*params) -> LogsUploaderTarget +- client.cdn.logs_uploader.targets.list(\*\*params) -> LogsUploaderTargetList +- client.cdn.logs_uploader.targets.delete(id) -> None +- client.cdn.logs_uploader.targets.get(id) -> LogsUploaderTarget +- client.cdn.logs_uploader.targets.replace(id, \*\*params) -> LogsUploaderTarget +- client.cdn.logs_uploader.targets.validate(id) -> LogsUploaderValidation + +### Configs + +Types: + +```python +from gcore.types.cdn.logs_uploader import LogsUploaderConfig, LogsUploaderConfigList +``` + +Methods: + +- client.cdn.logs_uploader.configs.create(\*\*params) -> LogsUploaderConfig +- client.cdn.logs_uploader.configs.update(id, \*\*params) -> LogsUploaderConfig +- client.cdn.logs_uploader.configs.list(\*\*params) -> LogsUploaderConfigList +- client.cdn.logs_uploader.configs.delete(id) -> None +- client.cdn.logs_uploader.configs.get(id) -> LogsUploaderConfig +- client.cdn.logs_uploader.configs.replace(id, \*\*params) -> LogsUploaderConfig +- client.cdn.logs_uploader.configs.validate(id) -> LogsUploaderValidation + +## Statistics + +Types: + +```python +from gcore.types.cdn import ( + LogsAggregatedStats, + ResourceAggregatedStats, + ResourceUsageStats, + ShieldAggregatedStats, + UsageSeriesStats, +) +``` + +Methods: + +- client.cdn.statistics.get_logs_usage_aggregated(\*\*params) -> LogsAggregatedStats +- client.cdn.statistics.get_logs_usage_series(\*\*params) -> UsageSeriesStats +- client.cdn.statistics.get_resource_usage_aggregated(\*\*params) -> ResourceAggregatedStats +- client.cdn.statistics.get_resource_usage_series(\*\*params) -> ResourceUsageStats +- client.cdn.statistics.get_shield_usage_aggregated(\*\*params) -> ShieldAggregatedStats +- client.cdn.statistics.get_shield_usage_series(\*\*params) -> UsageSeriesStats + +## NetworkCapacity + +Types: + +```python +from gcore.types.cdn import NetworkCapacity +``` + +Methods: + +- client.cdn.network_capacity.list() -> NetworkCapacity + +## Metrics + +Types: + +```python +from gcore.types.cdn import CDNMetrics, CDNMetricsGroups, CDNMetricsValues +``` + +Methods: + +- client.cdn.metrics.list(\*\*params) -> CDNMetrics + +## IPRanges + +Types: + +```python +from gcore.types.cdn import PublicIPList, PublicNetworkList +``` + +Methods: + +- client.cdn.ip_ranges.list(\*\*params) -> PublicNetworkList +- client.cdn.ip_ranges.list_ips(\*\*params) -> PublicIPList diff --git a/src/gcore/resources/cdn/logs_uploader/policies.py b/src/gcore/resources/cdn/logs_uploader/policies.py index a6d933fb..e4d15912 100644 --- a/src/gcore/resources/cdn/logs_uploader/policies.py +++ b/src/gcore/resources/cdn/logs_uploader/policies.py @@ -64,6 +64,7 @@ def create( format_type: Literal["json", ""] | Omit = omit, include_empty_logs: bool | Omit = omit, include_shield_logs: bool | Omit = omit, + log_sample_rate: float | Omit = omit, name: str | Omit = omit, retry_interval_minutes: int | Omit = omit, rotate_interval_minutes: int | Omit = omit, @@ -116,6 +117,14 @@ def create( include_shield_logs: Include logs from origin shielding in the upload. + log_sample_rate: Sampling rate for logs. A value between 0 and 1 that determines the fraction of + log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + name: Name of the policy. retry_interval_minutes: Interval in minutes to retry failed uploads. @@ -152,6 +161,7 @@ def create( "format_type": format_type, "include_empty_logs": include_empty_logs, "include_shield_logs": include_shield_logs, + "log_sample_rate": log_sample_rate, "name": name, "retry_interval_minutes": retry_interval_minutes, "rotate_interval_minutes": rotate_interval_minutes, @@ -181,6 +191,7 @@ def update( format_type: Literal["json", ""] | Omit = omit, include_empty_logs: bool | Omit = omit, include_shield_logs: bool | Omit = omit, + log_sample_rate: float | Omit = omit, name: str | Omit = omit, retry_interval_minutes: int | Omit = omit, rotate_interval_minutes: int | Omit = omit, @@ -233,6 +244,14 @@ def update( include_shield_logs: Include logs from origin shielding in the upload. + log_sample_rate: Sampling rate for logs. A value between 0 and 1 that determines the fraction of + log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + name: Name of the policy. retry_interval_minutes: Interval in minutes to retry failed uploads. @@ -269,6 +288,7 @@ def update( "format_type": format_type, "include_empty_logs": include_empty_logs, "include_shield_logs": include_shield_logs, + "log_sample_rate": log_sample_rate, "name": name, "retry_interval_minutes": retry_interval_minutes, "rotate_interval_minutes": rotate_interval_minutes, @@ -431,6 +451,7 @@ def replace( format_type: Literal["json", ""] | Omit = omit, include_empty_logs: bool | Omit = omit, include_shield_logs: bool | Omit = omit, + log_sample_rate: float | Omit = omit, name: str | Omit = omit, retry_interval_minutes: int | Omit = omit, rotate_interval_minutes: int | Omit = omit, @@ -483,6 +504,14 @@ def replace( include_shield_logs: Include logs from origin shielding in the upload. + log_sample_rate: Sampling rate for logs. A value between 0 and 1 that determines the fraction of + log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + name: Name of the policy. retry_interval_minutes: Interval in minutes to retry failed uploads. @@ -519,6 +548,7 @@ def replace( "format_type": format_type, "include_empty_logs": include_empty_logs, "include_shield_logs": include_shield_logs, + "log_sample_rate": log_sample_rate, "name": name, "retry_interval_minutes": retry_interval_minutes, "rotate_interval_minutes": rotate_interval_minutes, @@ -568,6 +598,7 @@ async def create( format_type: Literal["json", ""] | Omit = omit, include_empty_logs: bool | Omit = omit, include_shield_logs: bool | Omit = omit, + log_sample_rate: float | Omit = omit, name: str | Omit = omit, retry_interval_minutes: int | Omit = omit, rotate_interval_minutes: int | Omit = omit, @@ -620,6 +651,14 @@ async def create( include_shield_logs: Include logs from origin shielding in the upload. + log_sample_rate: Sampling rate for logs. A value between 0 and 1 that determines the fraction of + log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + name: Name of the policy. retry_interval_minutes: Interval in minutes to retry failed uploads. @@ -656,6 +695,7 @@ async def create( "format_type": format_type, "include_empty_logs": include_empty_logs, "include_shield_logs": include_shield_logs, + "log_sample_rate": log_sample_rate, "name": name, "retry_interval_minutes": retry_interval_minutes, "rotate_interval_minutes": rotate_interval_minutes, @@ -685,6 +725,7 @@ async def update( format_type: Literal["json", ""] | Omit = omit, include_empty_logs: bool | Omit = omit, include_shield_logs: bool | Omit = omit, + log_sample_rate: float | Omit = omit, name: str | Omit = omit, retry_interval_minutes: int | Omit = omit, rotate_interval_minutes: int | Omit = omit, @@ -737,6 +778,14 @@ async def update( include_shield_logs: Include logs from origin shielding in the upload. + log_sample_rate: Sampling rate for logs. A value between 0 and 1 that determines the fraction of + log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + name: Name of the policy. retry_interval_minutes: Interval in minutes to retry failed uploads. @@ -773,6 +822,7 @@ async def update( "format_type": format_type, "include_empty_logs": include_empty_logs, "include_shield_logs": include_shield_logs, + "log_sample_rate": log_sample_rate, "name": name, "retry_interval_minutes": retry_interval_minutes, "rotate_interval_minutes": rotate_interval_minutes, @@ -935,6 +985,7 @@ async def replace( format_type: Literal["json", ""] | Omit = omit, include_empty_logs: bool | Omit = omit, include_shield_logs: bool | Omit = omit, + log_sample_rate: float | Omit = omit, name: str | Omit = omit, retry_interval_minutes: int | Omit = omit, rotate_interval_minutes: int | Omit = omit, @@ -987,6 +1038,14 @@ async def replace( include_shield_logs: Include logs from origin shielding in the upload. + log_sample_rate: Sampling rate for logs. A value between 0 and 1 that determines the fraction of + log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + name: Name of the policy. retry_interval_minutes: Interval in minutes to retry failed uploads. @@ -1023,6 +1082,7 @@ async def replace( "format_type": format_type, "include_empty_logs": include_empty_logs, "include_shield_logs": include_shield_logs, + "log_sample_rate": log_sample_rate, "name": name, "retry_interval_minutes": retry_interval_minutes, "rotate_interval_minutes": rotate_interval_minutes, diff --git a/src/gcore/resources/cloud/api.md b/src/gcore/resources/cloud/api.md new file mode 100644 index 00000000..5e26e6a1 --- /dev/null +++ b/src/gcore/resources/cloud/api.md @@ -0,0 +1,1181 @@ +# Cloud + +Types: + +```python +from gcore.types.cloud import ( + AllowedAddressPairs, + BaremetalFlavor, + BaremetalFlavorList, + BlackholePort, + Console, + DDOSProfile, + DDOSProfileField, + DDOSProfileOptionList, + DDOSProfileStatus, + DDOSProfileTemplate, + DDOSProfileTemplateField, + FixedAddress, + FixedAddressShort, + FlavorHardwareDescription, + FloatingAddress, + FloatingIP, + FloatingIPStatus, + GPUImage, + GPUImageList, + HTTPMethod, + Image, + ImageList, + Instance, + InstanceIsolation, + InstanceList, + InstanceMetricsTimeUnit, + InterfaceIPFamily, + IPAssignment, + IPVersion, + LaasIndexRetentionPolicy, + LoadBalancer, + LoadBalancerInstanceRole, + LoadBalancerMemberConnectivity, + LoadBalancerOperatingStatus, + LoadBalancerStatistics, + Logging, + Network, + NetworkAnySubnetFip, + NetworkDetails, + NetworkInterface, + NetworkInterfaceList, + NetworkSubnetFip, + ProvisioningStatus, + Route, + Subnet, + Tag, + TagList, + TagUpdateMap, + TaskIDList, +) +``` + +## Projects + +Types: + +```python +from gcore.types.cloud import Project +``` + +Methods: + +- client.cloud.projects.create(\*\*params) -> Project +- client.cloud.projects.update(\*, project_id, \*\*params) -> Project +- client.cloud.projects.list(\*\*params) -> SyncOffsetPage[Project] +- client.cloud.projects.delete(\*, project_id) -> TaskIDList +- client.cloud.projects.get(\*, project_id) -> Project + +## Tasks + +Types: + +```python +from gcore.types.cloud import Task +``` + +Methods: + +- client.cloud.tasks.list(\*\*params) -> SyncOffsetPage[Task] +- client.cloud.tasks.acknowledge_all(\*\*params) -> None +- client.cloud.tasks.acknowledge_one(task_id) -> Task +- client.cloud.tasks.get(task_id) -> Task + +## Regions + +Types: + +```python +from gcore.types.cloud import Region +``` + +Methods: + +- client.cloud.regions.list(\*\*params) -> SyncOffsetPage[Region] +- client.cloud.regions.get(\*, region_id, \*\*params) -> Region + +## Quotas + +Types: + +```python +from gcore.types.cloud import QuotaGetAllResponse, QuotaGetByRegionResponse, QuotaGetGlobalResponse +``` + +Methods: + +- client.cloud.quotas.get_all() -> QuotaGetAllResponse +- client.cloud.quotas.get_by_region(\*, client_id, region_id) -> QuotaGetByRegionResponse +- client.cloud.quotas.get_global(client_id) -> QuotaGetGlobalResponse + +### Requests + +Types: + +```python +from gcore.types.cloud.quotas import RequestListResponse, RequestGetResponse +``` + +Methods: + +- client.cloud.quotas.requests.create(\*\*params) -> None +- client.cloud.quotas.requests.list(\*\*params) -> SyncOffsetPage[RequestListResponse] +- client.cloud.quotas.requests.delete(request_id) -> None +- client.cloud.quotas.requests.get(request_id) -> RequestGetResponse + +## Secrets + +Types: + +```python +from gcore.types.cloud import Secret +``` + +Methods: + +- client.cloud.secrets.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Secret] +- client.cloud.secrets.delete(secret_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.secrets.get(secret_id, \*, project_id, region_id) -> Secret +- client.cloud.secrets.upload_tls_certificate(\*, project_id, region_id, \*\*params) -> TaskIDList + +## SSHKeys + +Types: + +```python +from gcore.types.cloud import SSHKey, SSHKeyCreated +``` + +Methods: + +- client.cloud.ssh_keys.create(\*, project_id, \*\*params) -> SSHKeyCreated +- client.cloud.ssh_keys.update(ssh_key_id, \*, project_id, \*\*params) -> SSHKey +- client.cloud.ssh_keys.list(\*, project_id, \*\*params) -> SyncOffsetPage[SSHKey] +- client.cloud.ssh_keys.delete(ssh_key_id, \*, project_id) -> None +- client.cloud.ssh_keys.get(ssh_key_id, \*, project_id) -> SSHKey + +## IPRanges + +Types: + +```python +from gcore.types.cloud import IPRanges +``` + +Methods: + +- client.cloud.ip_ranges.list() -> IPRanges + +## LoadBalancers + +Types: + +```python +from gcore.types.cloud import ( + HealthMonitor, + HealthMonitorStatus, + LbAlgorithm, + LbHealthMonitorType, + LbListenerProtocol, + LbPoolProtocol, + LbSessionPersistenceType, + ListenerStatus, + LoadBalancerFlavorDetail, + LoadBalancerFlavorList, + LoadBalancerL7Policy, + LoadBalancerL7PolicyList, + LoadBalancerL7Rule, + LoadBalancerL7RuleList, + LoadBalancerListenerDetail, + LoadBalancerListenerList, + LoadBalancerMetrics, + LoadBalancerMetricsList, + LoadBalancerPool, + LoadBalancerPoolList, + LoadBalancerStatus, + LoadBalancerStatusList, + Member, + MemberStatus, + PoolStatus, + SessionPersistence, +) +``` + +Methods: + +- client.cloud.load_balancers.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.update(load_balancer_id, \*, project_id, region_id, \*\*params) -> LoadBalancer +- client.cloud.load_balancers.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[LoadBalancer] +- client.cloud.load_balancers.delete(load_balancer_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.load_balancers.failover(load_balancer_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.get(load_balancer_id, \*, project_id, region_id, \*\*params) -> LoadBalancer +- client.cloud.load_balancers.resize(load_balancer_id, \*, project_id, region_id, \*\*params) -> TaskIDList + +### L7Policies + +Methods: + +- client.cloud.load_balancers.l7_policies.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.l7_policies.update(l7policy_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.l7_policies.list(\*, project_id, region_id) -> LoadBalancerL7PolicyList +- client.cloud.load_balancers.l7_policies.delete(l7policy_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.load_balancers.l7_policies.get(l7policy_id, \*, project_id, region_id) -> LoadBalancerL7Policy + +#### Rules + +Methods: + +- client.cloud.load_balancers.l7_policies.rules.create(l7policy_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.l7_policies.rules.list(l7policy_id, \*, project_id, region_id) -> LoadBalancerL7RuleList +- client.cloud.load_balancers.l7_policies.rules.delete(l7rule_id, \*, project_id, region_id, l7policy_id) -> TaskIDList +- client.cloud.load_balancers.l7_policies.rules.get(l7rule_id, \*, project_id, region_id, l7policy_id) -> LoadBalancerL7Rule +- client.cloud.load_balancers.l7_policies.rules.replace(l7rule_id, \*, project_id, region_id, l7policy_id, \*\*params) -> TaskIDList + +### Flavors + +Methods: + +- client.cloud.load_balancers.flavors.list(\*, project_id, region_id, \*\*params) -> LoadBalancerFlavorList + +### Listeners + +Methods: + +- client.cloud.load_balancers.listeners.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.listeners.update(listener_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.listeners.list(\*, project_id, region_id, \*\*params) -> LoadBalancerListenerList +- client.cloud.load_balancers.listeners.delete(listener_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.listeners.get(listener_id, \*, project_id, region_id, \*\*params) -> LoadBalancerListenerDetail + +### Pools + +Methods: + +- client.cloud.load_balancers.pools.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.pools.update(pool_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.pools.list(\*, project_id, region_id, \*\*params) -> LoadBalancerPoolList +- client.cloud.load_balancers.pools.delete(pool_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.load_balancers.pools.get(pool_id, \*, project_id, region_id) -> LoadBalancerPool + +#### HealthMonitors + +Methods: + +- client.cloud.load_balancers.pools.health_monitors.create(pool_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.pools.health_monitors.delete(pool_id, \*, project_id, region_id) -> None + +#### Members + +Methods: + +- client.cloud.load_balancers.pools.members.create(pool_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.load_balancers.pools.members.delete(member_id, \*, project_id, region_id, pool_id) -> TaskIDList + +### Metrics + +Methods: + +- client.cloud.load_balancers.metrics.list(load_balancer_id, \*, project_id, region_id, \*\*params) -> LoadBalancerMetricsList + +### Statuses + +Methods: + +- client.cloud.load_balancers.statuses.list(\*, project_id, region_id) -> LoadBalancerStatusList +- client.cloud.load_balancers.statuses.get(load_balancer_id, \*, project_id, region_id) -> LoadBalancerStatus + +## ReservedFixedIPs + +Types: + +```python +from gcore.types.cloud import ReservedFixedIP +``` + +Methods: + +- client.cloud.reserved_fixed_ips.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.reserved_fixed_ips.update(port_id, \*, project_id, region_id, \*\*params) -> ReservedFixedIP +- client.cloud.reserved_fixed_ips.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[ReservedFixedIP] +- client.cloud.reserved_fixed_ips.delete(port_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.reserved_fixed_ips.get(port_id, \*, project_id, region_id) -> ReservedFixedIP + +### Vip + +Types: + +```python +from gcore.types.cloud.reserved_fixed_ips import IPWithSubnet +``` + +Methods: + +- client.cloud.reserved_fixed_ips.vip.toggle(port_id, \*, project_id, region_id, \*\*params) -> ReservedFixedIP + +#### CandidatePorts + +Types: + +```python +from gcore.types.cloud.reserved_fixed_ips.vip import CandidatePort, CandidatePortList +``` + +Methods: + +- client.cloud.reserved_fixed_ips.vip.candidate_ports.list(port_id, \*, project_id, region_id) -> CandidatePortList + +#### ConnectedPorts + +Types: + +```python +from gcore.types.cloud.reserved_fixed_ips.vip import ConnectedPort, ConnectedPortList +``` + +Methods: + +- client.cloud.reserved_fixed_ips.vip.connected_ports.list(port_id, \*, project_id, region_id) -> ConnectedPortList +- client.cloud.reserved_fixed_ips.vip.connected_ports.add(port_id, \*, project_id, region_id, \*\*params) -> ConnectedPortList +- client.cloud.reserved_fixed_ips.vip.connected_ports.replace(port_id, \*, project_id, region_id, \*\*params) -> ConnectedPortList + +## Networks + +Methods: + +- client.cloud.networks.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.networks.update(network_id, \*, project_id, region_id, \*\*params) -> Network +- client.cloud.networks.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Network] +- client.cloud.networks.delete(network_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.networks.get(network_id, \*, project_id, region_id) -> Network + +### Subnets + +Methods: + +- client.cloud.networks.subnets.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.networks.subnets.update(subnet_id, \*, project_id, region_id, \*\*params) -> Subnet +- client.cloud.networks.subnets.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Subnet] +- client.cloud.networks.subnets.delete(subnet_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.networks.subnets.get(subnet_id, \*, project_id, region_id) -> Subnet + +### Routers + +Types: + +```python +from gcore.types.cloud.networks import Router, RouterList, SubnetID +``` + +Methods: + +- client.cloud.networks.routers.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.networks.routers.update(router_id, \*, project_id, region_id, \*\*params) -> Router +- client.cloud.networks.routers.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Router] +- client.cloud.networks.routers.delete(router_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.networks.routers.attach_subnet(router_id, \*, project_id, region_id, \*\*params) -> Router +- client.cloud.networks.routers.detach_subnet(router_id, \*, project_id, region_id, \*\*params) -> Router +- client.cloud.networks.routers.get(router_id, \*, project_id, region_id) -> Router + +## Volumes + +Types: + +```python +from gcore.types.cloud import Volume +``` + +Methods: + +- client.cloud.volumes.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.volumes.update(volume_id, \*, project_id, region_id, \*\*params) -> Volume +- client.cloud.volumes.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Volume] +- client.cloud.volumes.delete(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.volumes.attach_to_instance(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.volumes.change_type(volume_id, \*, project_id, region_id, \*\*params) -> Volume +- client.cloud.volumes.detach_from_instance(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.volumes.get(volume_id, \*, project_id, region_id) -> Volume +- client.cloud.volumes.resize(volume_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.volumes.revert_to_last_snapshot(volume_id, \*, project_id, region_id) -> None + +## FloatingIPs + +Types: + +```python +from gcore.types.cloud import FloatingIPDetailed +``` + +Methods: + +- client.cloud.floating_ips.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.floating_ips.update(floating_ip_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.floating_ips.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[FloatingIPDetailed] +- client.cloud.floating_ips.delete(floating_ip_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.floating_ips.assign(floating_ip_id, \*, project_id, region_id, \*\*params) -> FloatingIP +- client.cloud.floating_ips.get(floating_ip_id, \*, project_id, region_id) -> FloatingIP +- client.cloud.floating_ips.unassign(floating_ip_id, \*, project_id, region_id) -> FloatingIP + +## SecurityGroups + +Types: + +```python +from gcore.types.cloud import SecurityGroup, SecurityGroupRule +``` + +Methods: + +- client.cloud.security_groups.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.security_groups.update(group_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.security_groups.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[SecurityGroup] +- client.cloud.security_groups.delete(group_id, \*, project_id, region_id) -> None +- client.cloud.security_groups.copy(group_id, \*, project_id, region_id, \*\*params) -> SecurityGroup +- client.cloud.security_groups.get(group_id, \*, project_id, region_id) -> SecurityGroup +- client.cloud.security_groups.revert_to_default(group_id, \*, project_id, region_id) -> SecurityGroup + +### Rules + +Methods: + +- client.cloud.security_groups.rules.create(group_id, \*, project_id, region_id, \*\*params) -> SecurityGroupRule +- client.cloud.security_groups.rules.delete(rule_id, \*, project_id, region_id) -> None +- client.cloud.security_groups.rules.replace(rule_id, \*, project_id, region_id, \*\*params) -> SecurityGroupRule + +## Users + +### RoleAssignments + +Types: + +```python +from gcore.types.cloud.users import RoleAssignment, RoleAssignmentUpdatedDeleted +``` + +Methods: + +- client.cloud.users.role_assignments.create(\*\*params) -> RoleAssignment +- client.cloud.users.role_assignments.update(assignment_id, \*\*params) -> RoleAssignmentUpdatedDeleted +- client.cloud.users.role_assignments.list(\*\*params) -> SyncOffsetPage[RoleAssignment] +- client.cloud.users.role_assignments.delete(assignment_id) -> RoleAssignmentUpdatedDeleted + +## Inference + +Types: + +```python +from gcore.types.cloud import InferenceRegionCapacity, InferenceRegionCapacityList +``` + +Methods: + +- client.cloud.inference.get_capacity_by_region() -> InferenceRegionCapacityList + +### Flavors + +Types: + +```python +from gcore.types.cloud.inference import InferenceFlavor +``` + +Methods: + +- client.cloud.inference.flavors.list(\*\*params) -> SyncOffsetPage[InferenceFlavor] +- client.cloud.inference.flavors.get(flavor_name) -> InferenceFlavor + +### Deployments + +Types: + +```python +from gcore.types.cloud.inference import ( + InferenceDeployment, + InferenceDeploymentAPIKey, + Probe, + ProbeConfig, + ProbeExec, + ProbeHTTPGet, + ProbeTcpSocket, +) +``` + +Methods: + +- client.cloud.inference.deployments.create(\*, project_id, \*\*params) -> TaskIDList +- client.cloud.inference.deployments.update(deployment_name, \*, project_id, \*\*params) -> TaskIDList +- client.cloud.inference.deployments.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceDeployment] +- client.cloud.inference.deployments.delete(deployment_name, \*, project_id) -> TaskIDList +- client.cloud.inference.deployments.get(deployment_name, \*, project_id) -> InferenceDeployment +- client.cloud.inference.deployments.get_api_key(deployment_name, \*, project_id) -> InferenceDeploymentAPIKey +- client.cloud.inference.deployments.start(deployment_name, \*, project_id) -> None +- client.cloud.inference.deployments.stop(deployment_name, \*, project_id) -> None + +#### Logs + +Types: + +```python +from gcore.types.cloud.inference.deployments import InferenceDeploymentLog +``` + +Methods: + +- client.cloud.inference.deployments.logs.list(deployment_name, \*, project_id, \*\*params) -> SyncOffsetPage[InferenceDeploymentLog] + +### RegistryCredentials + +Types: + +```python +from gcore.types.cloud.inference import InferenceRegistryCredentials +``` + +Methods: + +- client.cloud.inference.registry_credentials.create(\*, project_id, \*\*params) -> InferenceRegistryCredentials +- client.cloud.inference.registry_credentials.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceRegistryCredentials] +- client.cloud.inference.registry_credentials.delete(credential_name, \*, project_id) -> None +- client.cloud.inference.registry_credentials.get(credential_name, \*, project_id) -> InferenceRegistryCredentials +- client.cloud.inference.registry_credentials.replace(credential_name, \*, project_id, \*\*params) -> InferenceRegistryCredentials + +### Secrets + +Types: + +```python +from gcore.types.cloud.inference import InferenceSecret +``` + +Methods: + +- client.cloud.inference.secrets.create(\*, project_id, \*\*params) -> InferenceSecret +- client.cloud.inference.secrets.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceSecret] +- client.cloud.inference.secrets.delete(secret_name, \*, project_id) -> None +- client.cloud.inference.secrets.get(secret_name, \*, project_id) -> InferenceSecret +- client.cloud.inference.secrets.replace(secret_name, \*, project_id, \*\*params) -> InferenceSecret + +### APIKeys + +Types: + +```python +from gcore.types.cloud.inference import InferenceAPIKey, InferenceAPIKeyCreated +``` + +Methods: + +- client.cloud.inference.api_keys.create(\*, project_id, \*\*params) -> InferenceAPIKeyCreated +- client.cloud.inference.api_keys.update(api_key_name, \*, project_id, \*\*params) -> InferenceAPIKey +- client.cloud.inference.api_keys.list(\*, project_id, \*\*params) -> SyncOffsetPage[InferenceAPIKey] +- client.cloud.inference.api_keys.delete(api_key_name, \*, project_id) -> None +- client.cloud.inference.api_keys.get(api_key_name, \*, project_id) -> InferenceAPIKey + +### Applications + +#### Deployments + +Types: + +```python +from gcore.types.cloud.inference.applications import ( + InferenceApplicationDeployment, + InferenceApplicationDeploymentList, +) +``` + +Methods: + +- client.cloud.inference.applications.deployments.create(\*, project_id, \*\*params) -> TaskIDList +- client.cloud.inference.applications.deployments.update(deployment_name, \*, project_id, \*\*params) -> TaskIDList +- client.cloud.inference.applications.deployments.list(\*, project_id) -> InferenceApplicationDeploymentList +- client.cloud.inference.applications.deployments.delete(deployment_name, \*, project_id) -> TaskIDList +- client.cloud.inference.applications.deployments.get(deployment_name, \*, project_id) -> InferenceApplicationDeployment + +#### Templates + +Types: + +```python +from gcore.types.cloud.inference.applications import ( + InferenceApplicationTemplate, + InferenceApplicationTemplateList, +) +``` + +Methods: + +- client.cloud.inference.applications.templates.list() -> InferenceApplicationTemplateList +- client.cloud.inference.applications.templates.get(application_name) -> InferenceApplicationTemplate + +## PlacementGroups + +Types: + +```python +from gcore.types.cloud import PlacementGroup, PlacementGroupList +``` + +Methods: + +- client.cloud.placement_groups.create(\*, project_id, region_id, \*\*params) -> PlacementGroup +- client.cloud.placement_groups.list(\*, project_id, region_id) -> PlacementGroupList +- client.cloud.placement_groups.delete(group_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.placement_groups.get(group_id, \*, project_id, region_id) -> PlacementGroup + +## Baremetal + +### Images + +Methods: + +- client.cloud.baremetal.images.list(\*, project_id, region_id, \*\*params) -> ImageList + +### Flavors + +Methods: + +- client.cloud.baremetal.flavors.list(\*, project_id, region_id, \*\*params) -> BaremetalFlavorList + +### Servers + +Types: + +```python +from gcore.types.cloud.baremetal import ( + BaremetalFixedAddress, + BaremetalFloatingAddress, + BaremetalServer, +) +``` + +Methods: + +- client.cloud.baremetal.servers.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.baremetal.servers.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[BaremetalServer] +- client.cloud.baremetal.servers.rebuild(server_id, \*, project_id, region_id, \*\*params) -> TaskIDList + +## Registries + +Types: + +```python +from gcore.types.cloud import Registry, RegistryList, RegistryTag +``` + +Methods: + +- client.cloud.registries.create(\*, project_id, region_id, \*\*params) -> Registry +- client.cloud.registries.list(\*, project_id, region_id) -> RegistryList +- client.cloud.registries.delete(registry_id, \*, project_id, region_id) -> None +- client.cloud.registries.get(registry_id, \*, project_id, region_id) -> Registry +- client.cloud.registries.resize(registry_id, \*, project_id, region_id, \*\*params) -> Registry + +### Repositories + +Types: + +```python +from gcore.types.cloud.registries import RegistryRepository, RegistryRepositoryList +``` + +Methods: + +- client.cloud.registries.repositories.list(registry_id, \*, project_id, region_id) -> RegistryRepositoryList +- client.cloud.registries.repositories.delete(repository_name, \*, project_id, region_id, registry_id) -> None + +### Artifacts + +Types: + +```python +from gcore.types.cloud.registries import RegistryArtifact, RegistryArtifactList +``` + +Methods: + +- client.cloud.registries.artifacts.list(repository_name, \*, project_id, region_id, registry_id) -> RegistryArtifactList +- client.cloud.registries.artifacts.delete(digest, \*, project_id, region_id, registry_id, repository_name) -> None + +### Tags + +Methods: + +- client.cloud.registries.tags.delete(tag_name, \*, project_id, region_id, registry_id, repository_name, digest) -> None + +### Users + +Types: + +```python +from gcore.types.cloud.registries import ( + RegistryUser, + RegistryUserCreated, + RegistryUserList, + UserRefreshSecretResponse, +) +``` + +Methods: + +- client.cloud.registries.users.create(registry_id, \*, project_id, region_id, \*\*params) -> RegistryUserCreated +- client.cloud.registries.users.update(user_id, \*, project_id, region_id, registry_id, \*\*params) -> RegistryUser +- client.cloud.registries.users.list(registry_id, \*, project_id, region_id) -> RegistryUserList +- client.cloud.registries.users.delete(user_id, \*, project_id, region_id, registry_id) -> None +- client.cloud.registries.users.create_multiple(registry_id, \*, project_id, region_id, \*\*params) -> RegistryUserCreated +- client.cloud.registries.users.refresh_secret(user_id, \*, project_id, region_id, registry_id) -> UserRefreshSecretResponse + +## FileShares + +Types: + +```python +from gcore.types.cloud import FileShare +``` + +Methods: + +- client.cloud.file_shares.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.file_shares.update(file_share_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.file_shares.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[FileShare] +- client.cloud.file_shares.delete(file_share_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.file_shares.get(file_share_id, \*, project_id, region_id) -> FileShare +- client.cloud.file_shares.resize(file_share_id, \*, project_id, region_id, \*\*params) -> TaskIDList + +### AccessRules + +Types: + +```python +from gcore.types.cloud.file_shares import AccessRule, AccessRuleList +``` + +Methods: + +- client.cloud.file_shares.access_rules.create(file_share_id, \*, project_id, region_id, \*\*params) -> AccessRule +- client.cloud.file_shares.access_rules.list(file_share_id, \*, project_id, region_id) -> AccessRuleList +- client.cloud.file_shares.access_rules.delete(access_rule_id, \*, project_id, region_id, file_share_id) -> None + +## BillingReservations + +Types: + +```python +from gcore.types.cloud import BillingReservation, BillingReservations +``` + +Methods: + +- client.cloud.billing_reservations.list(\*\*params) -> BillingReservations + +## GPUBaremetal + +### Clusters + +Types: + +```python +from gcore.types.cloud.gpu_baremetal import GPUBaremetalCluster +``` + +Methods: + +- client.cloud.gpu_baremetal.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[GPUBaremetalCluster] +- client.cloud.gpu_baremetal.clusters.delete(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.action(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.get(cluster_id, \*, project_id, region_id) -> GPUBaremetalCluster +- client.cloud.gpu_baremetal.clusters.powercycle_all_servers(cluster_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1List +- client.cloud.gpu_baremetal.clusters.reboot_all_servers(cluster_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1List +- client.cloud.gpu_baremetal.clusters.rebuild(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.resize(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList + +#### Interfaces + +Methods: + +- client.cloud.gpu_baremetal.clusters.interfaces.list(cluster_id, \*, project_id, region_id) -> NetworkInterfaceList +- client.cloud.gpu_baremetal.clusters.interfaces.attach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.interfaces.detach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList + +#### Servers + +Types: + +```python +from gcore.types.cloud.gpu_baremetal.clusters import ( + GPUBaremetalClusterServer, + GPUBaremetalClusterServerV1, + GPUBaremetalClusterServerV1List, +) +``` + +Methods: + +- client.cloud.gpu_baremetal.clusters.servers.list(cluster_id, \*, project_id, region_id, \*\*params) -> SyncOffsetPage[GPUBaremetalClusterServer] +- client.cloud.gpu_baremetal.clusters.servers.delete(instance_id, \*, project_id, region_id, cluster_id, \*\*params) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.servers.get_console(instance_id, \*, project_id, region_id) -> Console +- client.cloud.gpu_baremetal.clusters.servers.powercycle(instance_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1 +- client.cloud.gpu_baremetal.clusters.servers.reboot(instance_id, \*, project_id, region_id) -> GPUBaremetalClusterServerV1 + +#### Flavors + +Types: + +```python +from gcore.types.cloud.gpu_baremetal.clusters import GPUBaremetalFlavor, GPUBaremetalFlavorList +``` + +Methods: + +- client.cloud.gpu_baremetal.clusters.flavors.list(\*, project_id, region_id, \*\*params) -> GPUBaremetalFlavorList + +#### Images + +Methods: + +- client.cloud.gpu_baremetal.clusters.images.list(\*, project_id, region_id) -> GPUImageList +- client.cloud.gpu_baremetal.clusters.images.delete(image_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.gpu_baremetal.clusters.images.get(image_id, \*, project_id, region_id) -> GPUImage +- client.cloud.gpu_baremetal.clusters.images.upload(\*, project_id, region_id, \*\*params) -> TaskIDList + +## GPUVirtual + +### Clusters + +Types: + +```python +from gcore.types.cloud.gpu_virtual import GPUVirtualCluster +``` + +Methods: + +- client.cloud.gpu_virtual.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_virtual.clusters.update(cluster_id, \*, project_id, region_id, \*\*params) -> GPUVirtualCluster +- client.cloud.gpu_virtual.clusters.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[GPUVirtualCluster] +- client.cloud.gpu_virtual.clusters.delete(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_virtual.clusters.action(cluster_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.gpu_virtual.clusters.get(cluster_id, \*, project_id, region_id) -> GPUVirtualCluster + +#### Servers + +Types: + +```python +from gcore.types.cloud.gpu_virtual.clusters import ( + GPUVirtualClusterServer, + GPUVirtualClusterServerList, +) +``` + +Methods: + +- client.cloud.gpu_virtual.clusters.servers.list(cluster_id, \*, project_id, region_id, \*\*params) -> GPUVirtualClusterServerList +- client.cloud.gpu_virtual.clusters.servers.delete(server_id, \*, project_id, region_id, cluster_id, \*\*params) -> TaskIDList + +#### Volumes + +Types: + +```python +from gcore.types.cloud.gpu_virtual.clusters import ( + GPUVirtualClusterVolume, + GPUVirtualClusterVolumeList, +) +``` + +Methods: + +- client.cloud.gpu_virtual.clusters.volumes.list(cluster_id, \*, project_id, region_id) -> GPUVirtualClusterVolumeList + +#### Interfaces + +Types: + +```python +from gcore.types.cloud.gpu_virtual.clusters import GPUVirtualInterface, GPUVirtualInterfaceList +``` + +Methods: + +- client.cloud.gpu_virtual.clusters.interfaces.list(cluster_id, \*, project_id, region_id) -> GPUVirtualInterfaceList + +#### Flavors + +Types: + +```python +from gcore.types.cloud.gpu_virtual.clusters import GPUVirtualFlavor, GPUVirtualFlavorList +``` + +Methods: + +- client.cloud.gpu_virtual.clusters.flavors.list(\*, project_id, region_id, \*\*params) -> GPUVirtualFlavorList + +#### Images + +Methods: + +- client.cloud.gpu_virtual.clusters.images.list(\*, project_id, region_id) -> GPUImageList +- client.cloud.gpu_virtual.clusters.images.delete(image_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.gpu_virtual.clusters.images.get(image_id, \*, project_id, region_id) -> GPUImage +- client.cloud.gpu_virtual.clusters.images.upload(\*, project_id, region_id, \*\*params) -> TaskIDList + +## Instances + +Types: + +```python +from gcore.types.cloud import InstanceInterface +``` + +Methods: + +- client.cloud.instances.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.update(instance_id, \*, project_id, region_id, \*\*params) -> Instance +- client.cloud.instances.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[Instance] +- client.cloud.instances.delete(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.action(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.add_to_placement_group(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.assign_security_group(instance_id, \*, project_id, region_id, \*\*params) -> None +- client.cloud.instances.disable_port_security(port_id, \*, project_id, region_id) -> InstanceInterface +- client.cloud.instances.enable_port_security(port_id, \*, project_id, region_id) -> InstanceInterface +- client.cloud.instances.get(instance_id, \*, project_id, region_id) -> Instance +- client.cloud.instances.get_console(instance_id, \*, project_id, region_id, \*\*params) -> Console +- client.cloud.instances.remove_from_placement_group(instance_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.instances.resize(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.unassign_security_group(instance_id, \*, project_id, region_id, \*\*params) -> None + +### Flavors + +Types: + +```python +from gcore.types.cloud.instances import InstanceFlavorDetailed, InstanceFlavorList +``` + +Methods: + +- client.cloud.instances.flavors.list(\*, project_id, region_id, \*\*params) -> InstanceFlavorList + +### Interfaces + +Methods: + +- client.cloud.instances.interfaces.list(instance_id, \*, project_id, region_id) -> NetworkInterfaceList +- client.cloud.instances.interfaces.attach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.interfaces.detach(instance_id, \*, project_id, region_id, \*\*params) -> TaskIDList + +### Images + +Methods: + +- client.cloud.instances.images.update(image_id, \*, project_id, region_id, \*\*params) -> Image +- client.cloud.instances.images.list(\*, project_id, region_id, \*\*params) -> ImageList +- client.cloud.instances.images.delete(image_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.instances.images.create_from_volume(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.instances.images.get(image_id, \*, project_id, region_id, \*\*params) -> Image +- client.cloud.instances.images.upload(\*, project_id, region_id, \*\*params) -> TaskIDList + +### Metrics + +Types: + +```python +from gcore.types.cloud.instances import Metrics, MetricsList +``` + +Methods: + +- client.cloud.instances.metrics.list(instance_id, \*, project_id, region_id, \*\*params) -> MetricsList + +## K8S + +Types: + +```python +from gcore.types.cloud import K8SClusterVersion, K8SClusterVersionList +``` + +Methods: + +- client.cloud.k8s.list_versions(\*, project_id, region_id) -> K8SClusterVersionList + +### Flavors + +Methods: + +- client.cloud.k8s.flavors.list(\*, project_id, region_id, \*\*params) -> BaremetalFlavorList + +### Clusters + +Types: + +```python +from gcore.types.cloud.k8s import ( + K8SCluster, + K8SClusterCertificate, + K8SClusterKubeconfig, + K8SClusterList, +) +``` + +Methods: + +- client.cloud.k8s.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.k8s.clusters.update(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.k8s.clusters.list(\*, project_id, region_id) -> K8SClusterList +- client.cloud.k8s.clusters.delete(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.k8s.clusters.get(cluster_name, \*, project_id, region_id) -> K8SCluster +- client.cloud.k8s.clusters.get_certificate(cluster_name, \*, project_id, region_id) -> K8SClusterCertificate +- client.cloud.k8s.clusters.get_kubeconfig(cluster_name, \*, project_id, region_id) -> K8SClusterKubeconfig +- client.cloud.k8s.clusters.list_versions_for_upgrade(cluster_name, \*, project_id, region_id) -> K8SClusterVersionList +- client.cloud.k8s.clusters.upgrade(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList + +#### Nodes + +Methods: + +- client.cloud.k8s.clusters.nodes.list(cluster_name, \*, project_id, region_id, \*\*params) -> InstanceList +- client.cloud.k8s.clusters.nodes.delete(instance_id, \*, project_id, region_id, cluster_name) -> None + +#### Pools + +Types: + +```python +from gcore.types.cloud.k8s.clusters import K8SClusterPool, K8SClusterPoolList, K8SClusterPoolQuota +``` + +Methods: + +- client.cloud.k8s.clusters.pools.create(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.k8s.clusters.pools.update(pool_name, \*, project_id, region_id, cluster_name, \*\*params) -> K8SClusterPool +- client.cloud.k8s.clusters.pools.list(cluster_name, \*, project_id, region_id) -> K8SClusterPoolList +- client.cloud.k8s.clusters.pools.delete(pool_name, \*, project_id, region_id, cluster_name) -> TaskIDList +- client.cloud.k8s.clusters.pools.check_quota(\*, project_id, region_id, \*\*params) -> K8SClusterPoolQuota +- client.cloud.k8s.clusters.pools.get(pool_name, \*, project_id, region_id, cluster_name) -> K8SClusterPool +- client.cloud.k8s.clusters.pools.resize(pool_name, \*, project_id, region_id, cluster_name, \*\*params) -> TaskIDList + +##### Nodes + +Methods: + +- client.cloud.k8s.clusters.pools.nodes.list(pool_name, \*, project_id, region_id, cluster_name, \*\*params) -> InstanceList +- client.cloud.k8s.clusters.pools.nodes.delete(instance_id, \*, project_id, region_id, cluster_name, pool_name) -> None + +## AuditLogs + +Types: + +```python +from gcore.types.cloud import AuditLogEntry +``` + +Methods: + +- client.cloud.audit_logs.list(\*\*params) -> SyncOffsetPage[AuditLogEntry] + +## CostReports + +Types: + +```python +from gcore.types.cloud import CostReportAggregated, CostReportAggregatedMonthly, CostReportDetailed +``` + +Methods: + +- client.cloud.cost_reports.get_aggregated(\*\*params) -> CostReportAggregated +- client.cloud.cost_reports.get_aggregated_monthly(\*\*params) -> CostReportAggregatedMonthly +- client.cloud.cost_reports.get_detailed(\*\*params) -> CostReportDetailed + +## UsageReports + +Types: + +```python +from gcore.types.cloud import UsageReport +``` + +Methods: + +- client.cloud.usage_reports.get(\*\*params) -> UsageReport + +## Databases + +### Postgres + +#### Clusters + +Types: + +```python +from gcore.types.cloud.databases.postgres import PostgresCluster, PostgresClusterShort +``` + +Methods: + +- client.cloud.databases.postgres.clusters.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.databases.postgres.clusters.update(cluster_name, \*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.databases.postgres.clusters.list(\*, project_id, region_id, \*\*params) -> SyncOffsetPage[PostgresClusterShort] +- client.cloud.databases.postgres.clusters.delete(cluster_name, \*, project_id, region_id) -> TaskIDList +- client.cloud.databases.postgres.clusters.get(cluster_name, \*, project_id, region_id) -> PostgresCluster + +##### UserCredentials + +Types: + +```python +from gcore.types.cloud.databases.postgres.clusters import PostgresUserCredentials +``` + +Methods: + +- client.cloud.databases.postgres.clusters.user_credentials.get(username, \*, project_id, region_id, cluster_name) -> PostgresUserCredentials +- client.cloud.databases.postgres.clusters.user_credentials.regenerate(username, \*, project_id, region_id, cluster_name) -> PostgresUserCredentials + +#### Configurations + +Types: + +```python +from gcore.types.cloud.databases.postgres import PostgresConfiguration +``` + +Methods: + +- client.cloud.databases.postgres.configurations.get(\*, project_id, region_id) -> PostgresConfiguration + +#### CustomConfigurations + +Types: + +```python +from gcore.types.cloud.databases.postgres import PgConfValidation +``` + +Methods: + +- client.cloud.databases.postgres.custom_configurations.validate(\*, project_id, region_id, \*\*params) -> PgConfValidation + +## VolumeSnapshots + +Types: + +```python +from gcore.types.cloud import Snapshot +``` + +Methods: + +- client.cloud.volume_snapshots.create(\*, project_id, region_id, \*\*params) -> TaskIDList +- client.cloud.volume_snapshots.update(snapshot_id, \*, project_id, region_id, \*\*params) -> Snapshot +- client.cloud.volume_snapshots.delete(snapshot_id, \*, project_id, region_id) -> TaskIDList +- client.cloud.volume_snapshots.get(snapshot_id, \*, project_id, region_id) -> Snapshot diff --git a/src/gcore/resources/cloud/security_groups/rules.py b/src/gcore/resources/cloud/security_groups/rules.py index dc4cdfa2..31a01883 100644 --- a/src/gcore/resources/cloud/security_groups/rules.py +++ b/src/gcore/resources/cloud/security_groups/rules.py @@ -2,6 +2,7 @@ from __future__ import annotations +import typing_extensions from typing import Optional from typing_extensions import Literal @@ -44,6 +45,7 @@ def with_streaming_response(self) -> RulesResourceWithStreamingResponse: """ return RulesResourceWithStreamingResponse(self) + @typing_extensions.deprecated("deprecated") def create( self, group_id: str, @@ -94,6 +96,9 @@ def create( """ Add a new rule to an existing security group. + **Deprecated** Use + `/v2/security_groups////rules` instead. + Args: project_id: Project ID @@ -152,6 +157,7 @@ def create( cast_to=SecurityGroupRule, ) + @typing_extensions.deprecated("deprecated") def delete( self, rule_id: str, @@ -168,6 +174,10 @@ def delete( """ Delete a specific rule from a security group. + **Deprecated** Use + `/v2/security_groups////rules/` + instead. + Args: project_id: Project ID @@ -198,6 +208,7 @@ def delete( cast_to=NoneType, ) + @typing_extensions.deprecated("deprecated") def replace( self, rule_id: str, @@ -249,6 +260,11 @@ def replace( """ Update the configuration of an existing security group rule. + **Deprecated** Use + `/v2/security_groups////rules/` to + delete and `/v2/security_groups////rules` to + create a new rule. + Args: project_id: Project ID @@ -333,6 +349,7 @@ def with_streaming_response(self) -> AsyncRulesResourceWithStreamingResponse: """ return AsyncRulesResourceWithStreamingResponse(self) + @typing_extensions.deprecated("deprecated") async def create( self, group_id: str, @@ -383,6 +400,9 @@ async def create( """ Add a new rule to an existing security group. + **Deprecated** Use + `/v2/security_groups////rules` instead. + Args: project_id: Project ID @@ -441,6 +461,7 @@ async def create( cast_to=SecurityGroupRule, ) + @typing_extensions.deprecated("deprecated") async def delete( self, rule_id: str, @@ -457,6 +478,10 @@ async def delete( """ Delete a specific rule from a security group. + **Deprecated** Use + `/v2/security_groups////rules/` + instead. + Args: project_id: Project ID @@ -487,6 +512,7 @@ async def delete( cast_to=NoneType, ) + @typing_extensions.deprecated("deprecated") async def replace( self, rule_id: str, @@ -538,6 +564,11 @@ async def replace( """ Update the configuration of an existing security group rule. + **Deprecated** Use + `/v2/security_groups////rules/` to + delete and `/v2/security_groups////rules` to + create a new rule. + Args: project_id: Project ID @@ -606,14 +637,20 @@ class RulesResourceWithRawResponse: def __init__(self, rules: RulesResource) -> None: self._rules = rules - self.create = to_raw_response_wrapper( - rules.create, + self.create = ( # pyright: ignore[reportDeprecated] + to_raw_response_wrapper( + rules.create, # pyright: ignore[reportDeprecated], + ) ) - self.delete = to_raw_response_wrapper( - rules.delete, + self.delete = ( # pyright: ignore[reportDeprecated] + to_raw_response_wrapper( + rules.delete, # pyright: ignore[reportDeprecated], + ) ) - self.replace = to_raw_response_wrapper( - rules.replace, + self.replace = ( # pyright: ignore[reportDeprecated] + to_raw_response_wrapper( + rules.replace, # pyright: ignore[reportDeprecated], + ) ) @@ -621,14 +658,20 @@ class AsyncRulesResourceWithRawResponse: def __init__(self, rules: AsyncRulesResource) -> None: self._rules = rules - self.create = async_to_raw_response_wrapper( - rules.create, + self.create = ( # pyright: ignore[reportDeprecated] + async_to_raw_response_wrapper( + rules.create, # pyright: ignore[reportDeprecated], + ) ) - self.delete = async_to_raw_response_wrapper( - rules.delete, + self.delete = ( # pyright: ignore[reportDeprecated] + async_to_raw_response_wrapper( + rules.delete, # pyright: ignore[reportDeprecated], + ) ) - self.replace = async_to_raw_response_wrapper( - rules.replace, + self.replace = ( # pyright: ignore[reportDeprecated] + async_to_raw_response_wrapper( + rules.replace, # pyright: ignore[reportDeprecated], + ) ) @@ -636,14 +679,20 @@ class RulesResourceWithStreamingResponse: def __init__(self, rules: RulesResource) -> None: self._rules = rules - self.create = to_streamed_response_wrapper( - rules.create, + self.create = ( # pyright: ignore[reportDeprecated] + to_streamed_response_wrapper( + rules.create, # pyright: ignore[reportDeprecated], + ) ) - self.delete = to_streamed_response_wrapper( - rules.delete, + self.delete = ( # pyright: ignore[reportDeprecated] + to_streamed_response_wrapper( + rules.delete, # pyright: ignore[reportDeprecated], + ) ) - self.replace = to_streamed_response_wrapper( - rules.replace, + self.replace = ( # pyright: ignore[reportDeprecated] + to_streamed_response_wrapper( + rules.replace, # pyright: ignore[reportDeprecated], + ) ) @@ -651,12 +700,18 @@ class AsyncRulesResourceWithStreamingResponse: def __init__(self, rules: AsyncRulesResource) -> None: self._rules = rules - self.create = async_to_streamed_response_wrapper( - rules.create, + self.create = ( # pyright: ignore[reportDeprecated] + async_to_streamed_response_wrapper( + rules.create, # pyright: ignore[reportDeprecated], + ) ) - self.delete = async_to_streamed_response_wrapper( - rules.delete, + self.delete = ( # pyright: ignore[reportDeprecated] + async_to_streamed_response_wrapper( + rules.delete, # pyright: ignore[reportDeprecated], + ) ) - self.replace = async_to_streamed_response_wrapper( - rules.replace, + self.replace = ( # pyright: ignore[reportDeprecated] + async_to_streamed_response_wrapper( + rules.replace, # pyright: ignore[reportDeprecated], + ) ) diff --git a/src/gcore/resources/cloud/tasks.py b/src/gcore/resources/cloud/tasks.py index 46ddb0ef..964ce8df 100644 --- a/src/gcore/resources/cloud/tasks.py +++ b/src/gcore/resources/cloud/tasks.py @@ -151,9 +151,9 @@ def list( 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_reserved_fixed_ip', 'create_router', 'create_secret', - 'create_security_group', 'create_servergroup', 'create_sfs', 'create_snapshot', - 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', - 'delete_ai_cluster_gpu', 'delete_caas_container', + 'create_security_group', 'create_security_group_rule', 'create_servergroup', + 'create_sfs', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', + 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', @@ -162,15 +162,16 @@ def list( 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', - 'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet', - 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', - 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', - 'extend_sfs', 'extend_volume', 'failover_loadbalancer', - 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', - 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', - 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', - 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', - 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', + 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', + 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', + 'detach_vm_interface', 'detach_volume', 'download_image', + 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', + 'extend_volume', 'failover_loadbalancer', 'hard_reboot_gpu_baremetal_server', + 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', + 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', + 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', + 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', + 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_gpu_baremetal_server', @@ -467,9 +468,9 @@ def list( 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_reserved_fixed_ip', 'create_router', 'create_secret', - 'create_security_group', 'create_servergroup', 'create_sfs', 'create_snapshot', - 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', - 'delete_ai_cluster_gpu', 'delete_caas_container', + 'create_security_group', 'create_security_group_rule', 'create_servergroup', + 'create_sfs', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', + 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', @@ -478,15 +479,16 @@ def list( 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', - 'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet', - 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', - 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', - 'extend_sfs', 'extend_volume', 'failover_loadbalancer', - 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', - 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', - 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', - 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', - 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', + 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', + 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', + 'detach_vm_interface', 'detach_volume', 'download_image', + 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', + 'extend_volume', 'failover_loadbalancer', 'hard_reboot_gpu_baremetal_server', + 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', + 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', + 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', + 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', + 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_gpu_baremetal_server', diff --git a/src/gcore/resources/dns/api.md b/src/gcore/resources/dns/api.md new file mode 100644 index 00000000..ff89a8bc --- /dev/null +++ b/src/gcore/resources/dns/api.md @@ -0,0 +1,159 @@ +# DNS + +Types: + +```python +from gcore.types.dns import DNSGetAccountOverviewResponse, DNSLookupResponse +``` + +Methods: + +- client.dns.get_account_overview() -> DNSGetAccountOverviewResponse +- client.dns.lookup(\*\*params) -> DNSLookupResponse + +## Locations + +Types: + +```python +from gcore.types.dns import ( + DNSLocationTranslations, + LocationListResponse, + LocationListContinentsResponse, + LocationListCountriesResponse, + LocationListRegionsResponse, +) +``` + +Methods: + +- client.dns.locations.list() -> LocationListResponse +- client.dns.locations.list_continents() -> LocationListContinentsResponse +- client.dns.locations.list_countries() -> LocationListCountriesResponse +- client.dns.locations.list_regions() -> LocationListRegionsResponse + +## Metrics + +Types: + +```python +from gcore.types.dns import MetricListResponse +``` + +Methods: + +- client.dns.metrics.list(\*\*params) -> str + +## Pickers + +Types: + +```python +from gcore.types.dns import DNSLabelName, PickerListResponse +``` + +Methods: + +- client.dns.pickers.list() -> PickerListResponse + +### Presets + +Types: + +```python +from gcore.types.dns.pickers import PresetListResponse +``` + +Methods: + +- client.dns.pickers.presets.list() -> PresetListResponse + +## Zones + +Types: + +```python +from gcore.types.dns import ( + DNSNameServer, + ZoneCreateResponse, + ZoneListResponse, + ZoneCheckDelegationStatusResponse, + ZoneExportResponse, + ZoneGetResponse, + ZoneGetStatisticsResponse, + ZoneImportResponse, +) +``` + +Methods: + +- client.dns.zones.create(\*\*params) -> ZoneCreateResponse +- client.dns.zones.list(\*\*params) -> ZoneListResponse +- client.dns.zones.delete(name) -> object +- client.dns.zones.check_delegation_status(name) -> ZoneCheckDelegationStatusResponse +- client.dns.zones.disable(name) -> object +- client.dns.zones.enable(name) -> object +- client.dns.zones.export(zone_name) -> ZoneExportResponse +- client.dns.zones.get(name) -> ZoneGetResponse +- client.dns.zones.get_statistics(name, \*\*params) -> ZoneGetStatisticsResponse +- client.dns.zones.import\_(zone_name, \*\*params) -> ZoneImportResponse +- client.dns.zones.replace(path_name, \*\*params) -> object + +### Dnssec + +Types: + +```python +from gcore.types.dns.zones import DnssecUpdateResponse, DnssecGetResponse +``` + +Methods: + +- client.dns.zones.dnssec.update(name, \*\*params) -> DnssecUpdateResponse +- client.dns.zones.dnssec.get(name) -> DnssecGetResponse + +### Rrsets + +Types: + +```python +from gcore.types.dns.zones import ( + DNSFailoverLog, + DNSOutputRrset, + RrsetListResponse, + RrsetGetFailoverLogsResponse, +) +``` + +Methods: + +- client.dns.zones.rrsets.create(rrset_type, \*, zone_name, rrset_name, \*\*params) -> DNSOutputRrset +- client.dns.zones.rrsets.list(zone_name, \*\*params) -> RrsetListResponse +- client.dns.zones.rrsets.delete(rrset_type, \*, zone_name, rrset_name) -> object +- client.dns.zones.rrsets.get(rrset_type, \*, zone_name, rrset_name) -> DNSOutputRrset +- client.dns.zones.rrsets.get_failover_logs(rrset_type, \*, zone_name, rrset_name, \*\*params) -> RrsetGetFailoverLogsResponse +- client.dns.zones.rrsets.replace(rrset_type, \*, zone_name, rrset_name, \*\*params) -> DNSOutputRrset + +## NetworkMappings + +Types: + +```python +from gcore.types.dns import ( + DNSMappingEntry, + DNSNetworkMapping, + NetworkMappingCreateResponse, + NetworkMappingListResponse, + NetworkMappingImportResponse, +) +``` + +Methods: + +- client.dns.network_mappings.create(\*\*params) -> NetworkMappingCreateResponse +- client.dns.network_mappings.list(\*\*params) -> NetworkMappingListResponse +- client.dns.network_mappings.delete(id) -> object +- client.dns.network_mappings.get(id) -> DNSNetworkMapping +- client.dns.network_mappings.get_by_name(name) -> DNSNetworkMapping +- client.dns.network*mappings.import*() -> NetworkMappingImportResponse +- client.dns.network_mappings.replace(id, \*\*params) -> object diff --git a/src/gcore/resources/fastedge/api.md b/src/gcore/resources/fastedge/api.md new file mode 100644 index 00000000..8d835d33 --- /dev/null +++ b/src/gcore/resources/fastedge/api.md @@ -0,0 +1,122 @@ +# Fastedge + +Types: + +```python +from gcore.types.fastedge import Client +``` + +Methods: + +- client.fastedge.get_account_overview() -> Client + +## Templates + +Types: + +```python +from gcore.types.fastedge import Template, TemplateParameter, TemplateShort +``` + +Methods: + +- client.fastedge.templates.create(\*\*params) -> TemplateShort +- client.fastedge.templates.list(\*\*params) -> SyncOffsetPageFastedgeTemplates[TemplateShort] +- client.fastedge.templates.delete(id, \*\*params) -> None +- client.fastedge.templates.get(id) -> Template +- client.fastedge.templates.replace(id, \*\*params) -> TemplateShort + +## Secrets + +Types: + +```python +from gcore.types.fastedge import Secret, SecretShort, SecretCreateResponse, SecretListResponse +``` + +Methods: + +- client.fastedge.secrets.create(\*\*params) -> SecretCreateResponse +- client.fastedge.secrets.update(id, \*\*params) -> Secret +- client.fastedge.secrets.list(\*\*params) -> SecretListResponse +- client.fastedge.secrets.delete(id, \*\*params) -> None +- client.fastedge.secrets.get(id) -> Secret +- client.fastedge.secrets.replace(id, \*\*params) -> Secret + +## Binaries + +Types: + +```python +from gcore.types.fastedge import Binary, BinaryShort, BinaryListResponse +``` + +Methods: + +- client.fastedge.binaries.create(body, \*\*params) -> BinaryShort +- client.fastedge.binaries.list() -> BinaryListResponse +- client.fastedge.binaries.delete(id) -> None +- client.fastedge.binaries.get(id) -> Binary + +## Statistics + +Types: + +```python +from gcore.types.fastedge import ( + CallStatus, + DurationStats, + StatisticGetCallSeriesResponse, + StatisticGetDurationSeriesResponse, +) +``` + +Methods: + +- client.fastedge.statistics.get_call_series(\*\*params) -> StatisticGetCallSeriesResponse +- client.fastedge.statistics.get_duration_series(\*\*params) -> StatisticGetDurationSeriesResponse + +## Apps + +Types: + +```python +from gcore.types.fastedge import App, AppShort +``` + +Methods: + +- client.fastedge.apps.create(\*\*params) -> AppShort +- client.fastedge.apps.update(id, \*\*params) -> AppShort +- client.fastedge.apps.list(\*\*params) -> SyncOffsetPageFastedgeApps[AppShort] +- client.fastedge.apps.delete(id) -> None +- client.fastedge.apps.get(id) -> App +- client.fastedge.apps.replace(id, \*\*params) -> AppShort + +### Logs + +Types: + +```python +from gcore.types.fastedge.apps import Log +``` + +Methods: + +- client.fastedge.apps.logs.list(id, \*\*params) -> SyncOffsetPageFastedgeAppLogs[Log] + +## KvStores + +Types: + +```python +from gcore.types.fastedge import KvStore, KvStoreShort, KvStoreCreateResponse, KvStoreListResponse +``` + +Methods: + +- client.fastedge.kv_stores.create(\*\*params) -> KvStoreCreateResponse +- client.fastedge.kv_stores.list(\*\*params) -> KvStoreListResponse +- client.fastedge.kv_stores.delete(id) -> None +- client.fastedge.kv_stores.get(id) -> KvStore +- client.fastedge.kv_stores.replace(id, \*\*params) -> KvStore diff --git a/src/gcore/resources/iam/api.md b/src/gcore/resources/iam/api.md new file mode 100644 index 00000000..b6411972 --- /dev/null +++ b/src/gcore/resources/iam/api.md @@ -0,0 +1,42 @@ +# Iam + +Types: + +```python +from gcore.types.iam import AccountOverview +``` + +Methods: + +- client.iam.get_account_overview() -> AccountOverview + +## APITokens + +Types: + +```python +from gcore.types.iam import APIToken, APITokenCreated, APITokenList +``` + +Methods: + +- client.iam.api_tokens.create(client_id, \*\*params) -> APITokenCreated +- client.iam.api_tokens.list(client_id, \*\*params) -> APITokenList +- client.iam.api_tokens.delete(token_id, \*, client_id) -> None +- client.iam.api_tokens.get(token_id, \*, client_id) -> APIToken + +## Users + +Types: + +```python +from gcore.types.iam import User, UserDetailed, UserInvite, UserUpdated +``` + +Methods: + +- client.iam.users.update(user_id, \*\*params) -> UserUpdated +- client.iam.users.list(\*\*params) -> SyncOffsetPage[User] +- client.iam.users.delete(user_id, \*, client_id) -> None +- client.iam.users.get(user_id) -> UserDetailed +- client.iam.users.invite(\*\*params) -> UserInvite diff --git a/src/gcore/resources/security/api.md b/src/gcore/resources/security/api.md new file mode 100644 index 00000000..228f9548 --- /dev/null +++ b/src/gcore/resources/security/api.md @@ -0,0 +1,55 @@ +# Security + +## Events + +Types: + +```python +from gcore.types.security import ClientView +``` + +Methods: + +- client.security.events.list(\*\*params) -> SyncOffsetPage[ClientView] + +## BgpAnnounces + +Types: + +```python +from gcore.types.security import ClientAnnounce, BgpAnnounceListResponse +``` + +Methods: + +- client.security.bgp_announces.list(\*\*params) -> BgpAnnounceListResponse +- client.security.bgp_announces.toggle(\*\*params) -> object + +## ProfileTemplates + +Types: + +```python +from gcore.types.security import ClientProfileTemplate, ProfileTemplateListResponse +``` + +Methods: + +- client.security.profile_templates.list() -> ProfileTemplateListResponse + +## Profiles + +Types: + +```python +from gcore.types.security import ClientProfile, ProfileListResponse +``` + +Methods: + +- client.security.profiles.create(\*\*params) -> ClientProfile +- client.security.profiles.list(\*\*params) -> ProfileListResponse +- client.security.profiles.delete(id) -> None +- client.security.profiles.get(id) -> ClientProfile +- client.security.profiles.recreate(id, \*\*params) -> ClientProfile +- client.security.profiles.replace(id, \*\*params) -> ClientProfile diff --git a/src/gcore/resources/storage/api.md b/src/gcore/resources/storage/api.md new file mode 100644 index 00000000..83eea9dc --- /dev/null +++ b/src/gcore/resources/storage/api.md @@ -0,0 +1,97 @@ +# Storage + +Types: + +```python +from gcore.types.storage import Storage +``` + +Methods: + +- client.storage.create(\*\*params) -> Storage +- client.storage.update(storage_id, \*\*params) -> Storage +- client.storage.list(\*\*params) -> SyncOffsetPage[Storage] +- client.storage.delete(storage_id) -> None +- client.storage.get(storage_id) -> Storage +- client.storage.link_ssh_key(key_id, \*, storage_id) -> None +- client.storage.restore(storage_id, \*\*params) -> None +- client.storage.unlink_ssh_key(key_id, \*, storage_id) -> None + +## Locations + +Types: + +```python +from gcore.types.storage import Location +``` + +Methods: + +- client.storage.locations.list(\*\*params) -> SyncOffsetPage[Location] + +## Statistics + +Types: + +```python +from gcore.types.storage import UsageSeries, UsageTotal, StatisticGetUsageSeriesResponse +``` + +Methods: + +- client.storage.statistics.get_usage_aggregated(\*\*params) -> UsageTotal +- client.storage.statistics.get_usage_series(\*\*params) -> StatisticGetUsageSeriesResponse + +## Credentials + +Methods: + +- client.storage.credentials.recreate(storage_id, \*\*params) -> Storage + +## Buckets + +Types: + +```python +from gcore.types.storage import Bucket +``` + +Methods: + +- client.storage.buckets.create(bucket_name, \*, storage_id) -> None +- client.storage.buckets.list(storage_id, \*\*params) -> SyncOffsetPage[Bucket] +- client.storage.buckets.delete(bucket_name, \*, storage_id) -> None + +### Cors + +Types: + +```python +from gcore.types.storage.buckets import BucketCors +``` + +Methods: + +- client.storage.buckets.cors.create(bucket_name, \*, storage_id, \*\*params) -> None +- client.storage.buckets.cors.get(bucket_name, \*, storage_id) -> BucketCors + +### Lifecycle + +Methods: + +- client.storage.buckets.lifecycle.create(bucket_name, \*, storage_id, \*\*params) -> None +- client.storage.buckets.lifecycle.delete(bucket_name, \*, storage_id) -> None + +### Policy + +Types: + +```python +from gcore.types.storage.buckets import BucketPolicy, PolicyGetResponse +``` + +Methods: + +- client.storage.buckets.policy.create(bucket_name, \*, storage_id) -> None +- client.storage.buckets.policy.delete(bucket_name, \*, storage_id) -> None +- client.storage.buckets.policy.get(bucket_name, \*, storage_id) -> PolicyGetResponse diff --git a/src/gcore/resources/streaming/api.md b/src/gcore/resources/streaming/api.md new file mode 100644 index 00000000..1e868475 --- /dev/null +++ b/src/gcore/resources/streaming/api.md @@ -0,0 +1,285 @@ +# Streaming + +Types: + +```python +from gcore.types.streaming import CreateVideo, Video +``` + +## AITasks + +Types: + +```python +from gcore.types.streaming import ( + AIContentmoderationHardnudity, + AIContentmoderationNsfw, + AIContentmoderationSoftnudity, + AIContentmoderationSport, + AITask, + AITaskCreateResponse, + AITaskCancelResponse, + AITaskGetResponse, + AITaskGetAISettingsResponse, +) +``` + +Methods: + +- client.streaming.ai_tasks.create(\*\*params) -> AITaskCreateResponse +- client.streaming.ai_tasks.list(\*\*params) -> SyncPageStreamingAI[AITask] +- client.streaming.ai_tasks.cancel(task_id) -> AITaskCancelResponse +- client.streaming.ai_tasks.get(task_id) -> AITaskGetResponse +- client.streaming.ai_tasks.get_ai_settings(\*\*params) -> AITaskGetAISettingsResponse + +## Broadcasts + +Types: + +```python +from gcore.types.streaming import Broadcast, BroadcastSpectatorsCount +``` + +Methods: + +- client.streaming.broadcasts.create(\*\*params) -> None +- client.streaming.broadcasts.update(broadcast_id, \*\*params) -> Broadcast +- client.streaming.broadcasts.list(\*\*params) -> SyncPageStreaming[Broadcast] +- client.streaming.broadcasts.delete(broadcast_id) -> None +- client.streaming.broadcasts.get(broadcast_id) -> Broadcast +- client.streaming.broadcasts.get_spectators_count(broadcast_id) -> BroadcastSpectatorsCount + +## Directories + +Types: + +```python +from gcore.types.streaming import ( + DirectoriesTree, + DirectoryBase, + DirectoryItem, + DirectoryVideo, + DirectoryGetResponse, +) +``` + +Methods: + +- client.streaming.directories.create(\*\*params) -> DirectoryBase +- client.streaming.directories.update(directory_id, \*\*params) -> DirectoryBase +- client.streaming.directories.delete(directory_id) -> None +- client.streaming.directories.get(directory_id) -> DirectoryGetResponse +- client.streaming.directories.get_tree() -> DirectoriesTree + +## Players + +Types: + +```python +from gcore.types.streaming import Player +``` + +Methods: + +- client.streaming.players.create(\*\*params) -> None +- client.streaming.players.update(player_id, \*\*params) -> Player +- client.streaming.players.list(\*\*params) -> SyncPageStreaming[Player] +- client.streaming.players.delete(player_id) -> None +- client.streaming.players.get(player_id) -> Player +- client.streaming.players.preview(player_id) -> None + +## QualitySets + +Types: + +```python +from gcore.types.streaming import QualitySets +``` + +Methods: + +- client.streaming.quality_sets.list() -> QualitySets +- client.streaming.quality_sets.set_default(\*\*params) -> QualitySets + +## Playlists + +Types: + +```python +from gcore.types.streaming import ( + Playlist, + PlaylistCreated, + PlaylistVideo, + PlaylistListVideosResponse, +) +``` + +Methods: + +- client.streaming.playlists.create(\*\*params) -> PlaylistCreated +- client.streaming.playlists.update(playlist_id, \*\*params) -> Playlist +- client.streaming.playlists.list(\*\*params) -> SyncPageStreaming[Playlist] +- client.streaming.playlists.delete(playlist_id) -> None +- client.streaming.playlists.get(playlist_id) -> Playlist +- client.streaming.playlists.list_videos(playlist_id) -> PlaylistListVideosResponse + +## Videos + +Types: + +```python +from gcore.types.streaming import ( + DirectUploadParameters, + Subtitle, + SubtitleBase, + SubtitleBody, + SubtitleUpdated, + VideoCreateResponse, + VideoCreateMultipleResponse, +) +``` + +Methods: + +- client.streaming.videos.create(\*\*params) -> VideoCreateResponse +- client.streaming.videos.update(video_id, \*\*params) -> Video +- client.streaming.videos.list(\*\*params) -> SyncPageStreaming[Video] +- client.streaming.videos.delete(video_id) -> None +- client.streaming.videos.create_multiple(\*\*params) -> VideoCreateMultipleResponse +- client.streaming.videos.get(video_id) -> Video +- client.streaming.videos.get_parameters_for_direct_upload(video_id) -> DirectUploadParameters +- client.streaming.videos.list_names(\*\*params) -> None + +### Subtitles + +Types: + +```python +from gcore.types.streaming.videos import SubtitleListResponse +``` + +Methods: + +- client.streaming.videos.subtitles.create(video_id, \*\*params) -> Subtitle +- client.streaming.videos.subtitles.update(id, \*, video_id, \*\*params) -> SubtitleBase +- client.streaming.videos.subtitles.list(video_id) -> SubtitleListResponse +- client.streaming.videos.subtitles.delete(id, \*, video_id) -> None +- client.streaming.videos.subtitles.get(id, \*, video_id) -> Subtitle + +## Streams + +Types: + +```python +from gcore.types.streaming import ( + Clip, + Stream, + StreamListClipsResponse, + StreamStartRecordingResponse, +) +``` + +Methods: + +- client.streaming.streams.create(\*\*params) -> Stream +- client.streaming.streams.update(stream_id, \*\*params) -> Stream +- client.streaming.streams.list(\*\*params) -> SyncPageStreaming[Stream] +- client.streaming.streams.delete(stream_id) -> None +- client.streaming.streams.clear_dvr(stream_id) -> None +- client.streaming.streams.create_clip(stream_id, \*\*params) -> Clip +- client.streaming.streams.get(stream_id) -> Stream +- client.streaming.streams.list_clips(stream_id) -> StreamListClipsResponse +- client.streaming.streams.start_recording(stream_id) -> StreamStartRecordingResponse +- client.streaming.streams.stop_recording(stream_id) -> Video + +### Overlays + +Types: + +```python +from gcore.types.streaming.streams import ( + Overlay, + OverlayCreateResponse, + OverlayListResponse, + OverlayUpdateMultipleResponse, +) +``` + +Methods: + +- client.streaming.streams.overlays.create(stream_id, \*\*params) -> OverlayCreateResponse +- client.streaming.streams.overlays.update(overlay_id, \*, stream_id, \*\*params) -> Overlay +- client.streaming.streams.overlays.list(stream_id) -> OverlayListResponse +- client.streaming.streams.overlays.delete(overlay_id, \*, stream_id) -> None +- client.streaming.streams.overlays.get(overlay_id, \*, stream_id) -> Overlay +- client.streaming.streams.overlays.update_multiple(stream_id, \*\*params) -> OverlayUpdateMultipleResponse + +## Restreams + +Types: + +```python +from gcore.types.streaming import Restream +``` + +Methods: + +- client.streaming.restreams.create(\*\*params) -> None +- client.streaming.restreams.update(restream_id, \*\*params) -> Restream +- client.streaming.restreams.list(\*\*params) -> SyncPageStreaming[Restream] +- client.streaming.restreams.delete(restream_id) -> None +- client.streaming.restreams.get(restream_id) -> Restream + +## Statistics + +Types: + +```python +from gcore.types.streaming import ( + Ffprobes, + MaxStreamSeries, + PopularVideos, + StorageSeries, + StreamSeries, + UniqueViewers, + UniqueViewersCDN, + Views, + ViewsByBrowser, + ViewsByCountry, + ViewsByHostname, + ViewsByOperatingSystem, + ViewsByReferer, + ViewsByRegion, + ViewsHeatmap, + VodStatisticsSeries, + VodTotalStreamDurationSeries, + StatisticGetLiveUniqueViewersResponse, + StatisticGetVodWatchTimeTotalCDNResponse, +) +``` + +Methods: + +- client.streaming.statistics.get_ffprobes(\*\*params) -> Ffprobes +- client.streaming.statistics.get_live_unique_viewers(\*\*params) -> StatisticGetLiveUniqueViewersResponse +- client.streaming.statistics.get_live_watch_time_cdn(\*\*params) -> StreamSeries +- client.streaming.statistics.get_live_watch_time_total_cdn(\*\*params) -> VodTotalStreamDurationSeries +- client.streaming.statistics.get_max_streams_series(\*\*params) -> MaxStreamSeries +- client.streaming.statistics.get_popular_videos(\*\*params) -> PopularVideos +- client.streaming.statistics.get_storage_series(\*\*params) -> StorageSeries +- client.streaming.statistics.get_stream_series(\*\*params) -> StreamSeries +- client.streaming.statistics.get_unique_viewers(\*\*params) -> UniqueViewers +- client.streaming.statistics.get_unique_viewers_cdn(\*\*params) -> UniqueViewersCDN +- client.streaming.statistics.get_views(\*\*params) -> Views +- client.streaming.statistics.get_views_by_browsers(\*\*params) -> ViewsByBrowser +- client.streaming.statistics.get_views_by_country(\*\*params) -> ViewsByCountry +- client.streaming.statistics.get_views_by_hostname(\*\*params) -> ViewsByHostname +- client.streaming.statistics.get_views_by_operating_system(\*\*params) -> ViewsByOperatingSystem +- client.streaming.statistics.get_views_by_referer(\*\*params) -> ViewsByReferer +- client.streaming.statistics.get_views_by_region(\*\*params) -> ViewsByRegion +- client.streaming.statistics.get_views_heatmap(\*\*params) -> ViewsHeatmap +- client.streaming.statistics.get_vod_storage_volume(\*\*params) -> VodStatisticsSeries +- client.streaming.statistics.get_vod_transcoding_duration(\*\*params) -> VodStatisticsSeries +- client.streaming.statistics.get_vod_unique_viewers_cdn(\*\*params) -> VodStatisticsSeries +- client.streaming.statistics.get_vod_watch_time_cdn(\*\*params) -> VodStatisticsSeries +- client.streaming.statistics.get_vod_watch_time_total_cdn(\*\*params) -> StatisticGetVodWatchTimeTotalCDNResponse diff --git a/src/gcore/resources/waap/api.md b/src/gcore/resources/waap/api.md new file mode 100644 index 00000000..52a55dc6 --- /dev/null +++ b/src/gcore/resources/waap/api.md @@ -0,0 +1,322 @@ +# Waap + +Types: + +```python +from gcore.types.waap import WaapGetAccountOverviewResponse +``` + +Methods: + +- client.waap.get_account_overview() -> WaapGetAccountOverviewResponse + +## Statistics + +Types: + +```python +from gcore.types.waap import WaapStatisticItem, WaapStatisticsSeries +``` + +Methods: + +- client.waap.statistics.get_usage_series(\*\*params) -> WaapStatisticsSeries + +## Domains + +Types: + +```python +from gcore.types.waap import ( + WaapDetailedDomain, + WaapDomainAPISettings, + WaapDomainDDOSSettings, + WaapDomainSettingsModel, + WaapPolicyMode, + WaapRuleSet, + WaapSummaryDomain, + DomainListRuleSetsResponse, +) +``` + +Methods: + +- client.waap.domains.update(domain_id, \*\*params) -> None +- client.waap.domains.list(\*\*params) -> SyncOffsetPage[WaapSummaryDomain] +- client.waap.domains.delete(domain_id) -> None +- client.waap.domains.get(domain_id) -> WaapDetailedDomain +- client.waap.domains.list_rule_sets(domain_id) -> DomainListRuleSetsResponse +- client.waap.domains.toggle_policy(policy_id, \*, domain_id) -> WaapPolicyMode + +### Settings + +Methods: + +- client.waap.domains.settings.update(domain_id, \*\*params) -> None +- client.waap.domains.settings.get(domain_id) -> WaapDomainSettingsModel + +### APIPaths + +Types: + +```python +from gcore.types.waap.domains import WaapAPIPath +``` + +Methods: + +- client.waap.domains.api_paths.create(domain_id, \*\*params) -> WaapAPIPath +- client.waap.domains.api_paths.update(path_id, \*, domain_id, \*\*params) -> None +- client.waap.domains.api_paths.list(domain_id, \*\*params) -> SyncOffsetPage[WaapAPIPath] +- client.waap.domains.api_paths.delete(path_id, \*, domain_id) -> None +- client.waap.domains.api_paths.get(path_id, \*, domain_id) -> WaapAPIPath + +### APIPathGroups + +Types: + +```python +from gcore.types.waap.domains import APIPathGroupList +``` + +Methods: + +- client.waap.domains.api_path_groups.list(domain_id) -> APIPathGroupList + +### APIDiscovery + +Types: + +```python +from gcore.types.waap.domains import WaapAPIDiscoverySettings, WaapAPIScanResult, WaapTaskID +``` + +Methods: + +- client.waap.domains.api_discovery.get_scan_result(scan_id, \*, domain_id) -> WaapAPIScanResult +- client.waap.domains.api_discovery.get_settings(domain_id) -> WaapAPIDiscoverySettings +- client.waap.domains.api_discovery.list_scan_results(domain_id, \*\*params) -> SyncOffsetPage[WaapAPIScanResult] +- client.waap.domains.api_discovery.scan_openapi(domain_id) -> WaapTaskID +- client.waap.domains.api_discovery.update_settings(domain_id, \*\*params) -> WaapAPIDiscoverySettings +- client.waap.domains.api_discovery.upload_openapi(domain_id, \*\*params) -> WaapTaskID + +### Insights + +Types: + +```python +from gcore.types.waap.domains import WaapInsight +``` + +Methods: + +- client.waap.domains.insights.list(domain_id, \*\*params) -> SyncOffsetPage[WaapInsight] +- client.waap.domains.insights.get(insight_id, \*, domain_id) -> WaapInsight +- client.waap.domains.insights.replace(insight_id, \*, domain_id, \*\*params) -> WaapInsight + +### InsightSilences + +Types: + +```python +from gcore.types.waap.domains import WaapInsightSilence +``` + +Methods: + +- client.waap.domains.insight_silences.create(domain_id, \*\*params) -> WaapInsightSilence +- client.waap.domains.insight_silences.update(silence_id, \*, domain_id, \*\*params) -> WaapInsightSilence +- client.waap.domains.insight_silences.list(domain_id, \*\*params) -> SyncOffsetPage[WaapInsightSilence] +- client.waap.domains.insight_silences.delete(silence_id, \*, domain_id) -> None +- client.waap.domains.insight_silences.get(silence_id, \*, domain_id) -> WaapInsightSilence + +### Statistics + +Types: + +```python +from gcore.types.waap.domains import ( + WaapBlockedStatistics, + WaapCountStatistics, + WaapDDOSAttack, + WaapDDOSInfo, + WaapEventStatistics, + WaapRequestDetails, + WaapRequestSummary, + WaapTrafficMetrics, + StatisticGetTrafficSeriesResponse, +) +``` + +Methods: + +- client.waap.domains.statistics.get_ddos_attacks(domain_id, \*\*params) -> SyncOffsetPage[WaapDDOSAttack] +- client.waap.domains.statistics.get_ddos_info(domain_id, \*\*params) -> SyncOffsetPage[WaapDDOSInfo] +- client.waap.domains.statistics.get_events_aggregated(domain_id, \*\*params) -> WaapEventStatistics +- client.waap.domains.statistics.get_request_details(request_id, \*, domain_id) -> WaapRequestDetails +- client.waap.domains.statistics.get_requests_series(domain_id, \*\*params) -> SyncOffsetPage[WaapRequestSummary] +- client.waap.domains.statistics.get_traffic_series(domain_id, \*\*params) -> StatisticGetTrafficSeriesResponse + +### CustomRules + +Types: + +```python +from gcore.types.waap.domains import WaapCustomRule +``` + +Methods: + +- client.waap.domains.custom_rules.create(domain_id, \*\*params) -> WaapCustomRule +- client.waap.domains.custom_rules.update(rule_id, \*, domain_id, \*\*params) -> None +- client.waap.domains.custom_rules.list(domain_id, \*\*params) -> SyncOffsetPage[WaapCustomRule] +- client.waap.domains.custom_rules.delete(rule_id, \*, domain_id) -> None +- client.waap.domains.custom_rules.delete_multiple(domain_id, \*\*params) -> None +- client.waap.domains.custom_rules.get(rule_id, \*, domain_id) -> WaapCustomRule +- client.waap.domains.custom_rules.toggle(action, \*, domain_id, rule_id) -> None + +### FirewallRules + +Types: + +```python +from gcore.types.waap.domains import WaapFirewallRule +``` + +Methods: + +- client.waap.domains.firewall_rules.create(domain_id, \*\*params) -> WaapFirewallRule +- client.waap.domains.firewall_rules.update(rule_id, \*, domain_id, \*\*params) -> None +- client.waap.domains.firewall_rules.list(domain_id, \*\*params) -> SyncOffsetPage[WaapFirewallRule] +- client.waap.domains.firewall_rules.delete(rule_id, \*, domain_id) -> None +- client.waap.domains.firewall_rules.delete_multiple(domain_id, \*\*params) -> None +- client.waap.domains.firewall_rules.get(rule_id, \*, domain_id) -> WaapFirewallRule +- client.waap.domains.firewall_rules.toggle(action, \*, domain_id, rule_id) -> None + +### AdvancedRules + +Types: + +```python +from gcore.types.waap.domains import WaapAdvancedRule +``` + +Methods: + +- client.waap.domains.advanced_rules.create(domain_id, \*\*params) -> WaapAdvancedRule +- client.waap.domains.advanced_rules.update(rule_id, \*, domain_id, \*\*params) -> None +- client.waap.domains.advanced_rules.list(domain_id, \*\*params) -> SyncOffsetPage[WaapAdvancedRule] +- client.waap.domains.advanced_rules.delete(rule_id, \*, domain_id) -> None +- client.waap.domains.advanced_rules.get(rule_id, \*, domain_id) -> WaapAdvancedRule +- client.waap.domains.advanced_rules.toggle(action, \*, domain_id, rule_id) -> None + +## CustomPageSets + +Types: + +```python +from gcore.types.waap import WaapCustomPagePreview, WaapCustomPageSet +``` + +Methods: + +- client.waap.custom_page_sets.create(\*\*params) -> WaapCustomPageSet +- client.waap.custom_page_sets.update(set_id, \*\*params) -> None +- client.waap.custom_page_sets.list(\*\*params) -> SyncOffsetPage[WaapCustomPageSet] +- client.waap.custom_page_sets.delete(set_id) -> None +- client.waap.custom_page_sets.get(set_id) -> WaapCustomPageSet +- client.waap.custom_page_sets.preview(\*\*params) -> WaapCustomPagePreview + +## AdvancedRules + +Types: + +```python +from gcore.types.waap import WaapAdvancedRuleDescriptor, WaapAdvancedRuleDescriptorList +``` + +Methods: + +- client.waap.advanced_rules.list() -> WaapAdvancedRuleDescriptorList + +## Tags + +Types: + +```python +from gcore.types.waap import WaapTag +``` + +Methods: + +- client.waap.tags.list(\*\*params) -> SyncOffsetPage[WaapTag] + +## Organizations + +Types: + +```python +from gcore.types.waap import WaapOrganization +``` + +Methods: + +- client.waap.organizations.list(\*\*params) -> SyncOffsetPage[WaapOrganization] + +## Insights + +Types: + +```python +from gcore.types.waap import WaapInsightType +``` + +Methods: + +- client.waap.insights.list_types(\*\*params) -> SyncOffsetPage[WaapInsightType] + +## IPInfo + +Types: + +```python +from gcore.types.waap import ( + WaapIPCountryAttack, + WaapIPDDOSInfoModel, + WaapIPInfo, + WaapRuleBlockedRequests, + WaapTimeSeriesAttack, + WaapTopSession, + WaapTopURL, + WaapTopUserAgent, + IPInfoGetAttackTimeSeriesResponse, + IPInfoGetBlockedRequestsResponse, + IPInfoGetTopURLsResponse, + IPInfoGetTopUserAgentsResponse, + IPInfoGetTopUserSessionsResponse, + IPInfoListAttackedCountriesResponse, +) +``` + +Methods: + +- client.waap.ip_info.get_attack_time_series(\*\*params) -> IPInfoGetAttackTimeSeriesResponse +- client.waap.ip_info.get_blocked_requests(\*\*params) -> IPInfoGetBlockedRequestsResponse +- client.waap.ip_info.get_ddos_attack_series(\*\*params) -> WaapIPDDOSInfoModel +- client.waap.ip_info.get_ip_info(\*\*params) -> WaapIPInfo +- client.waap.ip_info.get_top_urls(\*\*params) -> IPInfoGetTopURLsResponse +- client.waap.ip_info.get_top_user_agents(\*\*params) -> IPInfoGetTopUserAgentsResponse +- client.waap.ip_info.get_top_user_sessions(\*\*params) -> IPInfoGetTopUserSessionsResponse +- client.waap.ip_info.list_attacked_countries(\*\*params) -> IPInfoListAttackedCountriesResponse + +### Metrics + +Types: + +```python +from gcore.types.waap.ip_info import WaapIPInfoCounts +``` + +Methods: + +- client.waap.ip_info.metrics.list(\*\*params) -> WaapIPInfoCounts diff --git a/src/gcore/types/cdn/logs_uploader/logs_uploader_policy.py b/src/gcore/types/cdn/logs_uploader/logs_uploader_policy.py index dd6cfc5a..b71e8375 100644 --- a/src/gcore/types/cdn/logs_uploader/logs_uploader_policy.py +++ b/src/gcore/types/cdn/logs_uploader/logs_uploader_policy.py @@ -66,6 +66,17 @@ class LogsUploaderPolicy(BaseModel): include_shield_logs: Optional[bool] = None """Include logs from origin shielding in the upload.""" + log_sample_rate: Optional[float] = None + """Sampling rate for logs. + + A value between 0 and 1 that determines the fraction of log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + """ + name: Optional[str] = None """Name of the policy.""" diff --git a/src/gcore/types/cdn/logs_uploader/policy_create_params.py b/src/gcore/types/cdn/logs_uploader/policy_create_params.py index 7179d9d1..4d25b99a 100644 --- a/src/gcore/types/cdn/logs_uploader/policy_create_params.py +++ b/src/gcore/types/cdn/logs_uploader/policy_create_params.py @@ -59,6 +59,17 @@ class PolicyCreateParams(TypedDict, total=False): include_shield_logs: bool """Include logs from origin shielding in the upload.""" + log_sample_rate: float + """Sampling rate for logs. + + A value between 0 and 1 that determines the fraction of log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + """ + name: str """Name of the policy.""" diff --git a/src/gcore/types/cdn/logs_uploader/policy_replace_params.py b/src/gcore/types/cdn/logs_uploader/policy_replace_params.py index cc779079..1087c1f7 100644 --- a/src/gcore/types/cdn/logs_uploader/policy_replace_params.py +++ b/src/gcore/types/cdn/logs_uploader/policy_replace_params.py @@ -59,6 +59,17 @@ class PolicyReplaceParams(TypedDict, total=False): include_shield_logs: bool """Include logs from origin shielding in the upload.""" + log_sample_rate: float + """Sampling rate for logs. + + A value between 0 and 1 that determines the fraction of log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + """ + name: str """Name of the policy.""" diff --git a/src/gcore/types/cdn/logs_uploader/policy_update_params.py b/src/gcore/types/cdn/logs_uploader/policy_update_params.py index 0e8ce99d..43ad9e99 100644 --- a/src/gcore/types/cdn/logs_uploader/policy_update_params.py +++ b/src/gcore/types/cdn/logs_uploader/policy_update_params.py @@ -59,6 +59,17 @@ class PolicyUpdateParams(TypedDict, total=False): include_shield_logs: bool """Include logs from origin shielding in the upload.""" + log_sample_rate: float + """Sampling rate for logs. + + A value between 0 and 1 that determines the fraction of log entries to collect. + + - **1** - collect all logs (default). + - **0.5** - collect approximately 50% of logs. + - **0** - collect no logs (effectively disables logging without removing the + policy). + """ + name: str """Name of the policy.""" diff --git a/src/gcore/types/cloud/baremetal_flavor.py b/src/gcore/types/cloud/baremetal_flavor.py index 5cd8867f..7a1152f9 100644 --- a/src/gcore/types/cloud/baremetal_flavor.py +++ b/src/gcore/types/cloud/baremetal_flavor.py @@ -52,3 +52,6 @@ class BaremetalFlavor(BaseModel): price_status: Optional[Literal["error", "hide", "show"]] = None """Price status for the UI""" + + reserved_capacity: Optional[int] = None + """Number of available instances of given flavor from reservations""" diff --git a/src/gcore/types/cloud/gpu_baremetal/clusters/gpu_baremetal_flavor.py b/src/gcore/types/cloud/gpu_baremetal/clusters/gpu_baremetal_flavor.py index be48dcf7..44757b06 100644 --- a/src/gcore/types/cloud/gpu_baremetal/clusters/gpu_baremetal_flavor.py +++ b/src/gcore/types/cloud/gpu_baremetal/clusters/gpu_baremetal_flavor.py @@ -68,7 +68,7 @@ class GPUBaremetalFlavorSerializerWithoutPrice(BaseModel): """Flavor architecture type""" capacity: int - """Number of available instances of given flavor""" + """Number of available instances of given flavor for the client""" disabled: bool """If the flavor is disabled, new resources cannot be created using this flavor.""" @@ -82,12 +82,15 @@ class GPUBaremetalFlavorSerializerWithoutPrice(BaseModel): name: str """Flavor name""" + reserved_capacity: int + """Number of available instances of given flavor from reservations""" + supported_features: GPUBaremetalFlavorSerializerWithoutPriceSupportedFeatures """Set of enabled features based on the flavor's type and configuration""" class GPUBaremetalFlavorSerializerWithPricesHardwareDescription(BaseModel): - """Additional virtual hardware description""" + """Additional bare metal hardware description""" cpu: str """Human-readable CPU description""" @@ -151,13 +154,13 @@ class GPUBaremetalFlavorSerializerWithPrices(BaseModel): """Flavor architecture type""" capacity: int - """Number of available instances of given flavor""" + """Number of available instances of given flavor for the client""" disabled: bool """If the flavor is disabled, new resources cannot be created using this flavor.""" hardware_description: GPUBaremetalFlavorSerializerWithPricesHardwareDescription - """Additional virtual hardware description""" + """Additional bare metal hardware description""" hardware_properties: GPUBaremetalFlavorSerializerWithPricesHardwareProperties """Additional bare metal hardware properties""" @@ -168,6 +171,9 @@ class GPUBaremetalFlavorSerializerWithPrices(BaseModel): price: GPUBaremetalFlavorSerializerWithPricesPrice """Flavor price""" + reserved_capacity: int + """Number of available instances of given flavor from reservations""" + supported_features: GPUBaremetalFlavorSerializerWithPricesSupportedFeatures """Set of enabled features based on the flavor's type and configuration""" diff --git a/src/gcore/types/cloud/task.py b/src/gcore/types/cloud/task.py index 3aea7a7a..c028eb40 100644 --- a/src/gcore/types/cloud/task.py +++ b/src/gcore/types/cloud/task.py @@ -98,6 +98,9 @@ class CreatedResources(BaseModel): secrets: Optional[List[str]] = None """IDs of created secrets""" + security_group_rules: Optional[List[str]] = None + """IDs of created security group rules""" + security_groups: Optional[List[str]] = None """IDs of created security groups""" diff --git a/src/gcore/types/cloud/task_list_params.py b/src/gcore/types/cloud/task_list_params.py index 9915c84e..f7337af9 100644 --- a/src/gcore/types/cloud/task_list_params.py +++ b/src/gcore/types/cloud/task_list_params.py @@ -70,9 +70,9 @@ class TaskListParams(TypedDict, total=False): 'create_l7rule', 'create_lblistener', 'create_lbmember', 'create_lbpool', 'create_lbpool_health_monitor', 'create_loadbalancer', 'create_network', 'create_reserved_fixed_ip', 'create_router', 'create_secret', - 'create_security_group', 'create_servergroup', 'create_sfs', 'create_snapshot', - 'create_subnet', 'create_vm', 'create_volume', 'deactivate_ddos_profile', - 'delete_ai_cluster_gpu', 'delete_caas_container', + 'create_security_group', 'create_security_group_rule', 'create_servergroup', + 'create_sfs', 'create_snapshot', 'create_subnet', 'create_vm', 'create_volume', + 'deactivate_ddos_profile', 'delete_ai_cluster_gpu', 'delete_caas_container', 'delete_dbaas_postgres_cluster', 'delete_ddos_profile', 'delete_faas_function', 'delete_faas_namespace', 'delete_fip', 'delete_gpu_virtual_cluster', 'delete_gpu_virtual_server', 'delete_image', 'delete_inference_application', @@ -81,15 +81,16 @@ class TaskListParams(TypedDict, total=False): 'delete_lblistener', 'delete_lbmember', 'delete_lbmetadata', 'delete_lbpool', 'delete_loadbalancer', 'delete_network', 'delete_project', 'delete_reserved_fixed_ip', 'delete_router', 'delete_secret', - 'delete_servergroup', 'delete_sfs', 'delete_snapshot', 'delete_subnet', - 'delete_vm', 'delete_volume', 'detach_vm_interface', 'detach_volume', - 'download_image', 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', - 'extend_sfs', 'extend_volume', 'failover_loadbalancer', - 'hard_reboot_gpu_baremetal_server', 'hard_reboot_gpu_virtual_cluster', - 'hard_reboot_gpu_virtual_server', 'hard_reboot_vm', 'patch_caas_container', - 'patch_dbaas_postgres_cluster', 'patch_faas_function', 'patch_faas_namespace', - 'patch_lblistener', 'patch_lbpool', 'put_into_server_group', 'put_l7rule', - 'rebuild_bm', 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', + 'delete_security_group_rule', 'delete_servergroup', 'delete_sfs', + 'delete_snapshot', 'delete_subnet', 'delete_vm', 'delete_volume', + 'detach_vm_interface', 'detach_volume', 'download_image', + 'downscale_ai_cluster_gpu', 'downscale_gpu_virtual_cluster', 'extend_sfs', + 'extend_volume', 'failover_loadbalancer', 'hard_reboot_gpu_baremetal_server', + 'hard_reboot_gpu_virtual_cluster', 'hard_reboot_gpu_virtual_server', + 'hard_reboot_vm', 'patch_caas_container', 'patch_dbaas_postgres_cluster', + 'patch_faas_function', 'patch_faas_namespace', 'patch_lblistener', + 'patch_lbpool', 'put_into_server_group', 'put_l7rule', 'rebuild_bm', + 'rebuild_gpu_baremetal_cluster', 'rebuild_gpu_baremetal_node', 'rebuild_gpu_baremetal_server', 'remove_from_server_group', 'replace_lbmetadata', 'resize_k8s_cluster_v2', 'resize_loadbalancer', 'resize_vm', 'resume_vm', 'revert_volume', 'soft_reboot_gpu_baremetal_server', diff --git a/src/gcore/types/waap/domains/advanced_rule_create_params.py b/src/gcore/types/waap/domains/advanced_rule_create_params.py index 5ce72816..cabe49cb 100644 --- a/src/gcore/types/waap/domains/advanced_rule_create_params.py +++ b/src/gcore/types/waap/domains/advanced_rule_create_params.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Optional +from typing import Dict, Optional from typing_extensions import Literal, Required, TypedDict from ...._types import SequenceNotStr @@ -80,8 +80,8 @@ class Action(TypedDict, total=False): Only one action can be set per rule. """ - allow: object - """The WAAP allowed the request""" + allow: Dict[str, object] + """The WAAP allows the request""" block: ActionBlock """ @@ -89,14 +89,14 @@ class Action(TypedDict, total=False): action duration. """ - captcha: object - """The WAAP presented the user with a captcha""" + captcha: Dict[str, object] + """The WAAP presents the user with a captcha""" - handshake: object - """The WAAP performed automatic browser validation""" + handshake: Dict[str, object] + """The WAAP performs automatic browser validation""" - monitor: object - """The WAAP monitored the request but took no action""" + monitor: Dict[str, object] + """The WAAP monitors the request but takes no action""" tag: ActionTag """WAAP tag action gets a list of tags to tag the request scope with""" diff --git a/src/gcore/types/waap/domains/advanced_rule_update_params.py b/src/gcore/types/waap/domains/advanced_rule_update_params.py index 60d061bf..9ba318f0 100644 --- a/src/gcore/types/waap/domains/advanced_rule_update_params.py +++ b/src/gcore/types/waap/domains/advanced_rule_update_params.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Optional +from typing import Dict, Optional from typing_extensions import Literal, Required, TypedDict from ...._types import SequenceNotStr @@ -77,8 +77,8 @@ class ActionTag(TypedDict, total=False): class Action(TypedDict, total=False): """The action that a WAAP rule takes when triggered.""" - allow: object - """The WAAP allowed the request""" + allow: Dict[str, object] + """The WAAP allows the request""" block: ActionBlock """ @@ -86,14 +86,14 @@ class Action(TypedDict, total=False): action duration. """ - captcha: object - """The WAAP presented the user with a captcha""" + captcha: Dict[str, object] + """The WAAP presents the user with a captcha""" - handshake: object - """The WAAP performed automatic browser validation""" + handshake: Dict[str, object] + """The WAAP performs automatic browser validation""" - monitor: object - """The WAAP monitored the request but took no action""" + monitor: Dict[str, object] + """The WAAP monitors the request but takes no action""" tag: ActionTag """WAAP tag action gets a list of tags to tag the request scope with""" diff --git a/src/gcore/types/waap/domains/custom_rule_create_params.py b/src/gcore/types/waap/domains/custom_rule_create_params.py index 85559fd3..38d1fcaf 100644 --- a/src/gcore/types/waap/domains/custom_rule_create_params.py +++ b/src/gcore/types/waap/domains/custom_rule_create_params.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import List, Iterable +from typing import Dict, List, Iterable from typing_extensions import Literal, Required, TypedDict from ...._types import SequenceNotStr @@ -88,8 +88,8 @@ class Action(TypedDict, total=False): Only one action can be set per rule. """ - allow: object - """The WAAP allowed the request""" + allow: Dict[str, object] + """The WAAP allows the request""" block: ActionBlock """ @@ -97,14 +97,14 @@ class Action(TypedDict, total=False): action duration. """ - captcha: object - """The WAAP presented the user with a captcha""" + captcha: Dict[str, object] + """The WAAP presents the user with a captcha""" - handshake: object - """The WAAP performed automatic browser validation""" + handshake: Dict[str, object] + """The WAAP performs automatic browser validation""" - monitor: object - """The WAAP monitored the request but took no action""" + monitor: Dict[str, object] + """The WAAP monitors the request but takes no action""" tag: ActionTag """WAAP tag action gets a list of tags to tag the request scope with""" diff --git a/src/gcore/types/waap/domains/custom_rule_update_params.py b/src/gcore/types/waap/domains/custom_rule_update_params.py index a5d74346..36c8e2c6 100644 --- a/src/gcore/types/waap/domains/custom_rule_update_params.py +++ b/src/gcore/types/waap/domains/custom_rule_update_params.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import List, Iterable, Optional +from typing import Dict, List, Iterable, Optional from typing_extensions import Literal, Required, TypedDict from ...._types import SequenceNotStr @@ -85,8 +85,8 @@ class ActionTag(TypedDict, total=False): class Action(TypedDict, total=False): """The action that a WAAP rule takes when triggered.""" - allow: object - """The WAAP allowed the request""" + allow: Dict[str, object] + """The WAAP allows the request""" block: ActionBlock """ @@ -94,14 +94,14 @@ class Action(TypedDict, total=False): action duration. """ - captcha: object - """The WAAP presented the user with a captcha""" + captcha: Dict[str, object] + """The WAAP presents the user with a captcha""" - handshake: object - """The WAAP performed automatic browser validation""" + handshake: Dict[str, object] + """The WAAP performs automatic browser validation""" - monitor: object - """The WAAP monitored the request but took no action""" + monitor: Dict[str, object] + """The WAAP monitors the request but takes no action""" tag: ActionTag """WAAP tag action gets a list of tags to tag the request scope with""" diff --git a/src/gcore/types/waap/domains/firewall_rule_create_params.py b/src/gcore/types/waap/domains/firewall_rule_create_params.py index 00a84336..73e76cdc 100644 --- a/src/gcore/types/waap/domains/firewall_rule_create_params.py +++ b/src/gcore/types/waap/domains/firewall_rule_create_params.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Iterable, Optional +from typing import Dict, Iterable, Optional from typing_extensions import Literal, Required, TypedDict __all__ = ["FirewallRuleCreateParams", "Action", "ActionBlock", "Condition", "ConditionIP", "ConditionIPRange"] @@ -45,8 +45,8 @@ class ActionBlock(TypedDict, total=False): class Action(TypedDict, total=False): """The action that the rule takes when triggered""" - allow: Optional[object] - """The WAAP allowed the request""" + allow: Optional[Dict[str, object]] + """The WAAP allows the request""" block: Optional[ActionBlock] """ diff --git a/src/gcore/types/waap/domains/firewall_rule_update_params.py b/src/gcore/types/waap/domains/firewall_rule_update_params.py index 48a2addf..e6378ef6 100644 --- a/src/gcore/types/waap/domains/firewall_rule_update_params.py +++ b/src/gcore/types/waap/domains/firewall_rule_update_params.py @@ -2,7 +2,7 @@ from __future__ import annotations -from typing import Iterable, Optional +from typing import Dict, Iterable, Optional from typing_extensions import Literal, Required, TypedDict __all__ = ["FirewallRuleUpdateParams", "Action", "ActionBlock", "Condition", "ConditionIP", "ConditionIPRange"] @@ -48,8 +48,8 @@ class ActionBlock(TypedDict, total=False): class Action(TypedDict, total=False): """The action that a firewall rule takes when triggered""" - allow: Optional[object] - """The WAAP allowed the request""" + allow: Optional[Dict[str, object]] + """The WAAP allows the request""" block: Optional[ActionBlock] """ diff --git a/src/gcore/types/waap/domains/waap_advanced_rule.py b/src/gcore/types/waap/domains/waap_advanced_rule.py index feb436a2..c0f735e1 100644 --- a/src/gcore/types/waap/domains/waap_advanced_rule.py +++ b/src/gcore/types/waap/domains/waap_advanced_rule.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List, Optional +from typing import Dict, List, Optional from typing_extensions import Literal from ...._models import BaseModel @@ -38,8 +38,8 @@ class Action(BaseModel): Only one action can be set per rule. """ - allow: Optional[object] = None - """The WAAP allowed the request""" + allow: Optional[Dict[str, object]] = None + """The WAAP allows the request""" block: Optional[ActionBlock] = None """ @@ -47,14 +47,14 @@ class Action(BaseModel): action duration. """ - captcha: Optional[object] = None - """The WAAP presented the user with a captcha""" + captcha: Optional[Dict[str, object]] = None + """The WAAP presents the user with a captcha""" - handshake: Optional[object] = None - """The WAAP performed automatic browser validation""" + handshake: Optional[Dict[str, object]] = None + """The WAAP performs automatic browser validation""" - monitor: Optional[object] = None - """The WAAP monitored the request but took no action""" + monitor: Optional[Dict[str, object]] = None + """The WAAP monitors the request but takes no action""" tag: Optional[ActionTag] = None """WAAP tag action gets a list of tags to tag the request scope with""" diff --git a/src/gcore/types/waap/domains/waap_custom_rule.py b/src/gcore/types/waap/domains/waap_custom_rule.py index 89408a30..db35a837 100644 --- a/src/gcore/types/waap/domains/waap_custom_rule.py +++ b/src/gcore/types/waap/domains/waap_custom_rule.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List, Optional +from typing import Dict, List, Optional from typing_extensions import Literal from ...._models import BaseModel @@ -62,8 +62,8 @@ class Action(BaseModel): Only one action can be set per rule. """ - allow: Optional[object] = None - """The WAAP allowed the request""" + allow: Optional[Dict[str, object]] = None + """The WAAP allows the request""" block: Optional[ActionBlock] = None """ @@ -71,14 +71,14 @@ class Action(BaseModel): action duration. """ - captcha: Optional[object] = None - """The WAAP presented the user with a captcha""" + captcha: Optional[Dict[str, object]] = None + """The WAAP presents the user with a captcha""" - handshake: Optional[object] = None - """The WAAP performed automatic browser validation""" + handshake: Optional[Dict[str, object]] = None + """The WAAP performs automatic browser validation""" - monitor: Optional[object] = None - """The WAAP monitored the request but took no action""" + monitor: Optional[Dict[str, object]] = None + """The WAAP monitors the request but takes no action""" tag: Optional[ActionTag] = None """WAAP tag action gets a list of tags to tag the request scope with""" diff --git a/src/gcore/types/waap/domains/waap_firewall_rule.py b/src/gcore/types/waap/domains/waap_firewall_rule.py index 2686de74..9bad341c 100644 --- a/src/gcore/types/waap/domains/waap_firewall_rule.py +++ b/src/gcore/types/waap/domains/waap_firewall_rule.py @@ -1,6 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. -from typing import List, Optional +from typing import Dict, List, Optional from typing_extensions import Literal from ...._models import BaseModel @@ -28,8 +28,8 @@ class ActionBlock(BaseModel): class Action(BaseModel): """The action that the rule takes when triggered""" - allow: Optional[object] = None - """The WAAP allowed the request""" + allow: Optional[Dict[str, object]] = None + """The WAAP allows the request""" block: Optional[ActionBlock] = None """ diff --git a/src/gcore/types/waap/domains/waap_request_details.py b/src/gcore/types/waap/domains/waap_request_details.py index 6099d5de..0eae8cfc 100644 --- a/src/gcore/types/waap/domains/waap_request_details.py +++ b/src/gcore/types/waap/domains/waap_request_details.py @@ -188,6 +188,9 @@ class WaapRequestDetails(BaseModel): scheme: str """The HTTP scheme of the request that generated an event""" + session_id: str + """The session ID associated with the request.""" + session_request_count: str """The number requests in session""" diff --git a/src/gcore/types/waap/domains/waap_request_summary.py b/src/gcore/types/waap/domains/waap_request_summary.py index 039a5f70..68be1c90 100644 --- a/src/gcore/types/waap/domains/waap_request_summary.py +++ b/src/gcore/types/waap/domains/waap_request_summary.py @@ -1,5 +1,6 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. +from typing import Optional from typing_extensions import Literal from ...._models import BaseModel @@ -68,3 +69,6 @@ class WaapRequestSummary(BaseModel): user_agent_client: str """Client from parsed User agent header""" + + session_id: Optional[str] = None + """The session ID associated with the request.""" diff --git a/tests/api_resources/cdn/logs_uploader/test_policies.py b/tests/api_resources/cdn/logs_uploader/test_policies.py index e197ed4c..249b03cc 100644 --- a/tests/api_resources/cdn/logs_uploader/test_policies.py +++ b/tests/api_resources/cdn/logs_uploader/test_policies.py @@ -39,6 +39,7 @@ def test_method_create_with_all_params(self, client: Gcore) -> None: format_type="json", include_empty_logs=True, include_shield_logs=True, + log_sample_rate=1, name="Policy", retry_interval_minutes=32, rotate_interval_minutes=32, @@ -89,6 +90,7 @@ def test_method_update_with_all_params(self, client: Gcore) -> None: format_type="json", include_empty_logs=True, include_shield_logs=True, + log_sample_rate=0.5, name="Policy", retry_interval_minutes=32, rotate_interval_minutes=32, @@ -263,6 +265,7 @@ def test_method_replace_with_all_params(self, client: Gcore) -> None: format_type="json", include_empty_logs=True, include_shield_logs=True, + log_sample_rate=1, name="Policy", retry_interval_minutes=32, rotate_interval_minutes=32, @@ -320,6 +323,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncGcore) -> format_type="json", include_empty_logs=True, include_shield_logs=True, + log_sample_rate=1, name="Policy", retry_interval_minutes=32, rotate_interval_minutes=32, @@ -370,6 +374,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncGcore) -> format_type="json", include_empty_logs=True, include_shield_logs=True, + log_sample_rate=0.5, name="Policy", retry_interval_minutes=32, rotate_interval_minutes=32, @@ -544,6 +549,7 @@ async def test_method_replace_with_all_params(self, async_client: AsyncGcore) -> format_type="json", include_empty_logs=True, include_shield_logs=True, + log_sample_rate=1, name="Policy", retry_interval_minutes=32, rotate_interval_minutes=32, diff --git a/tests/api_resources/cloud/security_groups/test_rules.py b/tests/api_resources/cloud/security_groups/test_rules.py index b3e9f95f..ddd3a5d9 100644 --- a/tests/api_resources/cloud/security_groups/test_rules.py +++ b/tests/api_resources/cloud/security_groups/test_rules.py @@ -11,6 +11,8 @@ from tests.utils import assert_matches_type from gcore.types.cloud import SecurityGroupRule +# pyright: reportDeprecated=false + base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") @@ -19,39 +21,44 @@ class TestRules: @parametrize def test_method_create(self, client: Gcore) -> None: - rule = client.cloud.security_groups.rules.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - ) + with pytest.warns(DeprecationWarning): + rule = client.cloud.security_groups.rules.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + ) + assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize def test_method_create_with_all_params(self, client: Gcore) -> None: - rule = client.cloud.security_groups.rules.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - description="Some description", - ethertype="IPv4", - port_range_max=80, - port_range_min=80, - protocol="tcp", - remote_group_id="00000000-0000-4000-8000-000000000000", - remote_ip_prefix="10.0.0.0/8", - ) + with pytest.warns(DeprecationWarning): + rule = client.cloud.security_groups.rules.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + description="Some description", + ethertype="IPv4", + port_range_max=80, + port_range_min=80, + protocol="tcp", + remote_group_id="00000000-0000-4000-8000-000000000000", + remote_ip_prefix="10.0.0.0/8", + ) + assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize def test_raw_response_create(self, client: Gcore) -> None: - response = client.cloud.security_groups.rules.with_raw_response.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - ) + with pytest.warns(DeprecationWarning): + response = client.cloud.security_groups.rules.with_raw_response.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -60,46 +67,51 @@ def test_raw_response_create(self, client: Gcore) -> None: @parametrize def test_streaming_response_create(self, client: Gcore) -> None: - with client.cloud.security_groups.rules.with_streaming_response.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - rule = response.parse() - assert_matches_type(SecurityGroupRule, rule, path=["response"]) + with pytest.warns(DeprecationWarning): + with client.cloud.security_groups.rules.with_streaming_response.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + rule = response.parse() + assert_matches_type(SecurityGroupRule, rule, path=["response"]) assert cast(Any, response.is_closed) is True @parametrize def test_path_params_create(self, client: Gcore) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `group_id` but received ''"): - client.cloud.security_groups.rules.with_raw_response.create( - group_id="", + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `group_id` but received ''"): + client.cloud.security_groups.rules.with_raw_response.create( + group_id="", + project_id=1, + region_id=1, + direction="ingress", + ) + + @parametrize + def test_method_delete(self, client: Gcore) -> None: + with pytest.warns(DeprecationWarning): + rule = client.cloud.security_groups.rules.delete( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", project_id=1, region_id=1, - direction="ingress", ) - @parametrize - def test_method_delete(self, client: Gcore) -> None: - rule = client.cloud.security_groups.rules.delete( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - ) assert rule is None @parametrize def test_raw_response_delete(self, client: Gcore) -> None: - response = client.cloud.security_groups.rules.with_raw_response.delete( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - ) + with pytest.warns(DeprecationWarning): + response = client.cloud.security_groups.rules.with_raw_response.delete( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -108,66 +120,73 @@ def test_raw_response_delete(self, client: Gcore) -> None: @parametrize def test_streaming_response_delete(self, client: Gcore) -> None: - with client.cloud.security_groups.rules.with_streaming_response.delete( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" + with pytest.warns(DeprecationWarning): + with client.cloud.security_groups.rules.with_streaming_response.delete( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" - rule = response.parse() - assert rule is None + rule = response.parse() + assert rule is None assert cast(Any, response.is_closed) is True @parametrize def test_path_params_delete(self, client: Gcore) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): - client.cloud.security_groups.rules.with_raw_response.delete( - rule_id="", + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): + client.cloud.security_groups.rules.with_raw_response.delete( + rule_id="", + project_id=1, + region_id=1, + ) + + @parametrize + def test_method_replace(self, client: Gcore) -> None: + with pytest.warns(DeprecationWarning): + rule = client.cloud.security_groups.rules.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", project_id=1, region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", ) - @parametrize - def test_method_replace(self, client: Gcore) -> None: - rule = client.cloud.security_groups.rules.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize def test_method_replace_with_all_params(self, client: Gcore) -> None: - rule = client.cloud.security_groups.rules.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - description="Some description", - ethertype="IPv4", - port_range_max=80, - port_range_min=80, - protocol="tcp", - remote_group_id="00000000-0000-4000-8000-000000000000", - remote_ip_prefix="10.0.0.0/8", - ) + with pytest.warns(DeprecationWarning): + rule = client.cloud.security_groups.rules.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + description="Some description", + ethertype="IPv4", + port_range_max=80, + port_range_min=80, + protocol="tcp", + remote_group_id="00000000-0000-4000-8000-000000000000", + remote_ip_prefix="10.0.0.0/8", + ) + assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize def test_raw_response_replace(self, client: Gcore) -> None: - response = client.cloud.security_groups.rules.with_raw_response.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) + with pytest.warns(DeprecationWarning): + response = client.cloud.security_groups.rules.with_raw_response.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -176,31 +195,33 @@ def test_raw_response_replace(self, client: Gcore) -> None: @parametrize def test_streaming_response_replace(self, client: Gcore) -> None: - with client.cloud.security_groups.rules.with_streaming_response.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - rule = response.parse() - assert_matches_type(SecurityGroupRule, rule, path=["response"]) + with pytest.warns(DeprecationWarning): + with client.cloud.security_groups.rules.with_streaming_response.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + rule = response.parse() + assert_matches_type(SecurityGroupRule, rule, path=["response"]) assert cast(Any, response.is_closed) is True @parametrize def test_path_params_replace(self, client: Gcore) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): - client.cloud.security_groups.rules.with_raw_response.replace( - rule_id="", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): + client.cloud.security_groups.rules.with_raw_response.replace( + rule_id="", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + ) class TestAsyncRules: @@ -210,39 +231,44 @@ class TestAsyncRules: @parametrize async def test_method_create(self, async_client: AsyncGcore) -> None: - rule = await async_client.cloud.security_groups.rules.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - ) + with pytest.warns(DeprecationWarning): + rule = await async_client.cloud.security_groups.rules.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + ) + assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize async def test_method_create_with_all_params(self, async_client: AsyncGcore) -> None: - rule = await async_client.cloud.security_groups.rules.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - description="Some description", - ethertype="IPv4", - port_range_max=80, - port_range_min=80, - protocol="tcp", - remote_group_id="00000000-0000-4000-8000-000000000000", - remote_ip_prefix="10.0.0.0/8", - ) + with pytest.warns(DeprecationWarning): + rule = await async_client.cloud.security_groups.rules.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + description="Some description", + ethertype="IPv4", + port_range_max=80, + port_range_min=80, + protocol="tcp", + remote_group_id="00000000-0000-4000-8000-000000000000", + remote_ip_prefix="10.0.0.0/8", + ) + assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize async def test_raw_response_create(self, async_client: AsyncGcore) -> None: - response = await async_client.cloud.security_groups.rules.with_raw_response.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - ) + with pytest.warns(DeprecationWarning): + response = await async_client.cloud.security_groups.rules.with_raw_response.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -251,46 +277,51 @@ async def test_raw_response_create(self, async_client: AsyncGcore) -> None: @parametrize async def test_streaming_response_create(self, async_client: AsyncGcore) -> None: - async with async_client.cloud.security_groups.rules.with_streaming_response.create( - group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - rule = await response.parse() - assert_matches_type(SecurityGroupRule, rule, path=["response"]) + with pytest.warns(DeprecationWarning): + async with async_client.cloud.security_groups.rules.with_streaming_response.create( + group_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + rule = await response.parse() + assert_matches_type(SecurityGroupRule, rule, path=["response"]) assert cast(Any, response.is_closed) is True @parametrize async def test_path_params_create(self, async_client: AsyncGcore) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `group_id` but received ''"): - await async_client.cloud.security_groups.rules.with_raw_response.create( - group_id="", + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `group_id` but received ''"): + await async_client.cloud.security_groups.rules.with_raw_response.create( + group_id="", + project_id=1, + region_id=1, + direction="ingress", + ) + + @parametrize + async def test_method_delete(self, async_client: AsyncGcore) -> None: + with pytest.warns(DeprecationWarning): + rule = await async_client.cloud.security_groups.rules.delete( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", project_id=1, region_id=1, - direction="ingress", ) - @parametrize - async def test_method_delete(self, async_client: AsyncGcore) -> None: - rule = await async_client.cloud.security_groups.rules.delete( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - ) assert rule is None @parametrize async def test_raw_response_delete(self, async_client: AsyncGcore) -> None: - response = await async_client.cloud.security_groups.rules.with_raw_response.delete( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - ) + with pytest.warns(DeprecationWarning): + response = await async_client.cloud.security_groups.rules.with_raw_response.delete( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -299,66 +330,73 @@ async def test_raw_response_delete(self, async_client: AsyncGcore) -> None: @parametrize async def test_streaming_response_delete(self, async_client: AsyncGcore) -> None: - async with async_client.cloud.security_groups.rules.with_streaming_response.delete( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" + with pytest.warns(DeprecationWarning): + async with async_client.cloud.security_groups.rules.with_streaming_response.delete( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" - rule = await response.parse() - assert rule is None + rule = await response.parse() + assert rule is None assert cast(Any, response.is_closed) is True @parametrize async def test_path_params_delete(self, async_client: AsyncGcore) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): - await async_client.cloud.security_groups.rules.with_raw_response.delete( - rule_id="", + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): + await async_client.cloud.security_groups.rules.with_raw_response.delete( + rule_id="", + project_id=1, + region_id=1, + ) + + @parametrize + async def test_method_replace(self, async_client: AsyncGcore) -> None: + with pytest.warns(DeprecationWarning): + rule = await async_client.cloud.security_groups.rules.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", project_id=1, region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", ) - @parametrize - async def test_method_replace(self, async_client: AsyncGcore) -> None: - rule = await async_client.cloud.security_groups.rules.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize async def test_method_replace_with_all_params(self, async_client: AsyncGcore) -> None: - rule = await async_client.cloud.security_groups.rules.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - description="Some description", - ethertype="IPv4", - port_range_max=80, - port_range_min=80, - protocol="tcp", - remote_group_id="00000000-0000-4000-8000-000000000000", - remote_ip_prefix="10.0.0.0/8", - ) + with pytest.warns(DeprecationWarning): + rule = await async_client.cloud.security_groups.rules.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + description="Some description", + ethertype="IPv4", + port_range_max=80, + port_range_min=80, + protocol="tcp", + remote_group_id="00000000-0000-4000-8000-000000000000", + remote_ip_prefix="10.0.0.0/8", + ) + assert_matches_type(SecurityGroupRule, rule, path=["response"]) @parametrize async def test_raw_response_replace(self, async_client: AsyncGcore) -> None: - response = await async_client.cloud.security_groups.rules.with_raw_response.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) + with pytest.warns(DeprecationWarning): + response = await async_client.cloud.security_groups.rules.with_raw_response.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + ) assert response.is_closed is True assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -367,28 +405,30 @@ async def test_raw_response_replace(self, async_client: AsyncGcore) -> None: @parametrize async def test_streaming_response_replace(self, async_client: AsyncGcore) -> None: - async with async_client.cloud.security_groups.rules.with_streaming_response.replace( - rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - rule = await response.parse() - assert_matches_type(SecurityGroupRule, rule, path=["response"]) + with pytest.warns(DeprecationWarning): + async with async_client.cloud.security_groups.rules.with_streaming_response.replace( + rule_id="024a29e9-b4b7-4c91-9a46-505be123d9f8", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + rule = await response.parse() + assert_matches_type(SecurityGroupRule, rule, path=["response"]) assert cast(Any, response.is_closed) is True @parametrize async def test_path_params_replace(self, async_client: AsyncGcore) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): - await async_client.cloud.security_groups.rules.with_raw_response.replace( - rule_id="", - project_id=1, - region_id=1, - direction="ingress", - security_group_id="00000000-0000-4000-8000-000000000000", - ) + with pytest.warns(DeprecationWarning): + with pytest.raises(ValueError, match=r"Expected a non-empty value for `rule_id` but received ''"): + await async_client.cloud.security_groups.rules.with_raw_response.replace( + rule_id="", + project_id=1, + region_id=1, + direction="ingress", + security_group_id="00000000-0000-4000-8000-000000000000", + ) diff --git a/tests/api_resources/waap/domains/test_advanced_rules.py b/tests/api_resources/waap/domains/test_advanced_rules.py index fe8f806f..a049a35b 100644 --- a/tests/api_resources/waap/domains/test_advanced_rules.py +++ b/tests/api_resources/waap/domains/test_advanced_rules.py @@ -36,14 +36,14 @@ def test_method_create_with_all_params(self, client: Gcore) -> None: advanced_rule = client.waap.domains.advanced_rules.create( domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, enabled=True, @@ -100,14 +100,14 @@ def test_method_update_with_all_params(self, client: Gcore) -> None: rule_id=0, domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, description="description", @@ -317,14 +317,14 @@ async def test_method_create_with_all_params(self, async_client: AsyncGcore) -> advanced_rule = await async_client.waap.domains.advanced_rules.create( domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, enabled=True, @@ -381,14 +381,14 @@ async def test_method_update_with_all_params(self, async_client: AsyncGcore) -> rule_id=0, domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, description="description", diff --git a/tests/api_resources/waap/domains/test_custom_rules.py b/tests/api_resources/waap/domains/test_custom_rules.py index 36a7e89f..8a2ab6d1 100644 --- a/tests/api_resources/waap/domains/test_custom_rules.py +++ b/tests/api_resources/waap/domains/test_custom_rules.py @@ -36,14 +36,14 @@ def test_method_create_with_all_params(self, client: Gcore) -> None: custom_rule = client.waap.domains.custom_rules.create( domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, conditions=[ @@ -185,14 +185,14 @@ def test_method_update_with_all_params(self, client: Gcore) -> None: rule_id=0, domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, conditions=[ @@ -520,14 +520,14 @@ async def test_method_create_with_all_params(self, async_client: AsyncGcore) -> custom_rule = await async_client.waap.domains.custom_rules.create( domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, conditions=[ @@ -669,14 +669,14 @@ async def test_method_update_with_all_params(self, async_client: AsyncGcore) -> rule_id=0, domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, }, - "captcha": {}, - "handshake": {}, - "monitor": {}, + "captcha": {"foo": "bar"}, + "handshake": {"foo": "bar"}, + "monitor": {"foo": "bar"}, "tag": {"tags": ["string"]}, }, conditions=[ diff --git a/tests/api_resources/waap/domains/test_firewall_rules.py b/tests/api_resources/waap/domains/test_firewall_rules.py index 560b4128..10b6fa28 100644 --- a/tests/api_resources/waap/domains/test_firewall_rules.py +++ b/tests/api_resources/waap/domains/test_firewall_rules.py @@ -36,7 +36,7 @@ def test_method_create_with_all_params(self, client: Gcore) -> None: firewall_rule = client.waap.domains.firewall_rules.create( domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, @@ -107,7 +107,7 @@ def test_method_update_with_all_params(self, client: Gcore) -> None: rule_id=0, domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, @@ -364,7 +364,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncGcore) -> firewall_rule = await async_client.waap.domains.firewall_rules.create( domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403, @@ -435,7 +435,7 @@ async def test_method_update_with_all_params(self, async_client: AsyncGcore) -> rule_id=0, domain_id=1, action={ - "allow": {}, + "allow": {"foo": "bar"}, "block": { "action_duration": "12h", "status_code": 403,