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..fae1a1cb 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-9259165aabf370bac0e114d6934e471a5ac10c13bbd4bb8e3a868ab3ac04c1b0.yml +openapi_spec_hash: ae218d74dd0778c09d4ea5f932519e56 +config_hash: bc578a7de14c42e33b7d4bd4502218f2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a2a6a34..d90a52da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## 0.33.0 (2026-02-13) + +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 ([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 + +* 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/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/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/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,