{"openapi":"3.0.0","info":{"title":"OVHcloud API specification","description":"Specification for OVHcloud API","version":"1.0","contact":{"name":"OVH","email":"api@ml.ovh.net"}},"servers":[{"url":"https://api.eu.ovhcloud.com/v2"}],"components":{"schemas":{"any":{"description":"Can be anything (text, int, bool, json, html, etc.)","example":"This is a content of any type !"},"common.CurrentTask":{"type":"object","description":"Asynchronous operation currently running","properties":{"errors":{"type":"array","description":"Errors that occurred on the task","nullable":true,"items":{"$ref":"#/components/schemas/common.TaskError"},"readOnly":true},"id":{"type":"string","description":"Identifier of the current task","format":"uuid","readOnly":true},"link":{"type":"string","description":"Link to the task details","readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/common.CurrentTaskStatusEnum"}],"description":"Current global status of the current task","nullable":true,"readOnly":true},"type":{"type":"string","description":"Type of the current task","readOnly":true}}},"common.CurrentTaskStatusEnum":{"type":"string","description":"Current status of a task. A task in ERROR cannot be retried without your inputs. PENDING tasks will be executed as soon as possible. A RUNNING task is currently executing your original request. SCHEDULED is used for tasks that will be executed in the future.","enum":["ERROR","PENDING","RUNNING","SCHEDULED","WAITING_USER_INPUT"]},"common.RegionEnum":{"type":"string","description":"OVHcloud region identifier","enum":["af-north-lz-rba","ap-south-mum","ap-southeast-sgp","ap-southeast-syd","ca-east-bhs","ca-east-tor","eu-central-lz-buh","eu-central-lz-prg","eu-central-lz-sof","eu-central-waw","eu-north-lz-cph","eu-north-lz-hel","eu-north-lz-osl","eu-north-lz-sto","eu-south-lz-lis","eu-south-lz-mad","eu-south-lz-mil","eu-south-mil","eu-west-eri","eu-west-gra","eu-west-gra-snc","eu-west-lim","eu-west-lz-ams","eu-west-lz-bru","eu-west-lz-dln","eu-west-lz-lux","eu-west-lz-mnc","eu-west-lz-mrs","eu-west-lz-vie","eu-west-lz-zrh","eu-west-par","eu-west-rbx","eu-west-rbx-snc","eu-west-sbg","eu-west-sbg-snc","us-central-lz-slc","us-central-lz-stl","us-east-lz-atl","us-east-lz-bos","us-east-lz-chi","us-east-lz-dal","us-east-lz-mia","us-east-lz-nyc","us-east-vin","us-west-hil","us-west-lz-den","us-west-lz-lax","us-west-lz-pao","us-west-lz-phx","us-west-lz-sea"]},"common.ResourceStatusEnum":{"type":"string","description":"Current status of a resource","enum":["CREATING","CREATION_PLANNED","DELETING","ERROR","OUT_OF_SYNC","READY","SUSPENDED","UNKNOWN","UPDATING"]},"common.TaskError":{"type":"object","description":"Errors that occurred on the task","properties":{"message":{"type":"string","description":"Error description","readOnly":true}}},"duration":{"type":"string","description":"Duration (e.g., P1Y2M3DT4H6M9S)","example":"P1Y2M3DT4H6M9S"},"email":{"type":"string","description":"Email address (e.g., api@ml.ovh.net)","format":"email","example":"api@ml.ovh.net"},"internationalPhoneNumber":{"type":"string","description":"International phone number","format":"phone-number"},"ip":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipBlock":{"type":"string","description":"IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)","format":"ip-block","example":"192.0.2.0/24"},"ipInterface":{"type":"string","description":"IP address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4":{"type":"string","description":"IPv4 address (e.g., 192.0.2.0)","format":"ipv4","example":"192.0.2.0"},"ipv4Block":{"type":"string","description":"IPv4 CIDR notation (e.g., 192.0.2.0/24)","format":"ipv4-block","example":"192.0.2.0/24"},"ipv6":{"type":"string","description":"IPv6 address (e.g., 2001:41d0:1:1994::1)","format":"ipv6","example":"2001:41d0:1:1994::1"},"ipv6Block":{"type":"string","description":"IPv6 CIDR notation (e.g., 2001:41d0::/128)","format":"ipv6-block","example":"2001:41d0::/128"},"macAddress":{"type":"string","description":"MAC address (e.g., 00:00:5e:00:53:01)","format":"mac-address","example":"00:00:5e:00:53:01"},"phoneNumber":{"type":"string","description":"Phone number","format":"phone-number"},"publicCloud.common.Location":{"type":"object","description":"Resource location","properties":{"availabilityZone":{"type":"string","description":"Availability zone within the region","nullable":true},"region":{"type":"string","description":"Region code"}},"required":["region"]},"publicCloud.database.AuthorizedIps":{"type":"object","description":"IP authorization configuration of a managed database service. When at least one rule is defined, only traffic from matching CIDR ranges is allowed.","properties":{"rules":{"type":"array","description":"Authorization entries. An empty list removes all restrictions, allowing access from any IP.","items":{"$ref":"#/components/schemas/publicCloud.database.AuthorizedIpsRule"}}}},"publicCloud.database.AuthorizedIpsReplace":{"type":"object","description":"IP authorization configuration of a managed database service, given in full. When at least one rule is defined, only traffic from matching CIDR ranges is allowed.","properties":{"rules":{"type":"array","description":"Authorization entries. An empty list removes all restrictions, allowing access from any IP.","items":{"$ref":"#/components/schemas/publicCloud.database.AuthorizedIpsRuleReplace"}}},"required":["rules"]},"publicCloud.database.AuthorizedIpsRule":{"type":"object","description":"An authorization entry granting a CIDR range access to a managed database service","properties":{"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"CIDR range allowed to connect to the service, for example 203.0.113.0/24. Use 0.0.0.0/0 to allow all IPs."},"createdAt":{"type":"string","description":"Date at which this rule was created","format":"date-time","readOnly":true},"description":{"type":"string","description":"Human-readable label for this rule","nullable":true}},"required":["cidr"]},"publicCloud.database.AuthorizedIpsRuleReplace":{"type":"object","description":"An authorization entry granting a CIDR range access to a managed database service","properties":{"cidr":{"allOf":[{"$ref":"#/components/schemas/ipBlock"}],"description":"CIDR range allowed to connect to the service, for example 203.0.113.0/24. Use 0.0.0.0/0 to allow all IPs."},"description":{"type":"string","description":"Human-readable label for this rule. Null for a rule without a label.","nullable":true}},"required":["cidr","description"]},"publicCloud.database.BackupCurrentState":{"type":"object","description":"Current backup configuration of a managed database service","properties":{"pitr":{"type":"string","description":"Date until which point-in-time recovery is available for this service","nullable":true,"format":"date-time","readOnly":true},"regions":{"type":"array","description":"Regions where backups of this service are stored","nullable":true,"items":{"$ref":"#/components/schemas/common.RegionEnum"},"readOnly":true},"retentionDays":{"type":"integer","description":"Number of days backups are retained for this service","nullable":true,"readOnly":true},"time":{"type":"string","description":"Time of day at which automatic backups are scheduled, in HH:MM UTC format","nullable":true,"readOnly":true}}},"publicCloud.database.BackupReplaceSpec":{"type":"object","description":"Backup configuration for a managed database service, given in full","properties":{"regions":{"type":"array","description":"Regions where backups should be stored. Supported values depend on the engine and plan. Null for engines that do not support cross-region backups.","nullable":true,"items":{"$ref":"#/components/schemas/common.RegionEnum"}},"time":{"type":"string","description":"Preferred time of day for automatic backups, in HH:MM UTC format"}},"required":["regions","time"]},"publicCloud.database.BackupSpec":{"type":"object","description":"Backup configuration for a managed database service","properties":{"regions":{"type":"array","description":"Regions where backups should be stored. Supported values depend on the engine and plan.","nullable":true,"items":{"$ref":"#/components/schemas/common.RegionEnum"}},"time":{"type":"string","description":"Preferred time of day for automatic backups, in HH:MM UTC format","nullable":true}}},"publicCloud.database.Endpoint":{"type":"object","description":"Connection endpoint exposed by a managed database service","properties":{"component":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.EndpointComponentEnum"}],"description":"Component accessible through this endpoint","readOnly":true},"domain":{"type":"string","description":"Fully qualified domain name of the endpoint","readOnly":true},"path":{"type":"string","description":"URL path appended to the domain when applicable","nullable":true,"readOnly":true},"port":{"type":"integer","description":"TCP port of the endpoint","nullable":true,"readOnly":true},"public":{"type":"boolean","description":"True on the endpoints that use the public domain name of the service, false on the private ones. Null for an engine or a service that does not support public exposure.","nullable":true,"readOnly":true},"scheme":{"type":"string","description":"URI scheme of the endpoint, for example kafka, postgresql, https","nullable":true,"readOnly":true},"ssl":{"type":"boolean","description":"Whether TLS is enabled on this endpoint","readOnly":true},"sslMode":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.SSLModeEnum"}],"description":"TLS verification mode of the endpoint","nullable":true,"readOnly":true},"uri":{"type":"string","description":"Full connection URI combining scheme, domain, port, and path","nullable":true,"readOnly":true}}},"publicCloud.database.EndpointComponentEnum":{"type":"string","description":"Component exposed by a connection endpoint of a managed database service","enum":["CLICKHOUSE","GRAFANA","KAFKA","KAFKA_CONNECT","KAFKA_REST","KAFKA_SCHEMA_REGISTRY","MONGODB","MYSQL","OPENSEARCH","OPENSEARCH_DASHBOARDS","POSTGRESQL","VALKEY"]},"publicCloud.database.EngineEnum":{"type":"string","description":"Database engine type of the managed database service","enum":["CLICKHOUSE","GRAFANA","KAFKA","KAFKA_CONNECT","KAFKA_MIRROR_MAKER","MONGODB","MYSQL","OPENSEARCH","POSTGRESQL","VALKEY"]},"publicCloud.database.IntegrationTypeEnum":{"type":"string","description":"Type of integration between two managed database services","enum":["GRAFANA_DASHBOARD","GRAFANA_DATASOURCE","KAFKA_CONNECT","KAFKA_LOGS","KAFKA_MIRROR_MAKER","OPENSEARCH_LOGS","POSTGRESQL_METRICS","PROMETHEUS","RSYSLOG"]},"publicCloud.database.MaintenanceCurrentState":{"type":"object","description":"Current maintenance window configuration of a managed database service","properties":{"startTimeUtc":{"type":"string","description":"Preferred start time for maintenance windows, in HH:MM UTC format","nullable":true,"readOnly":true}}},"publicCloud.database.MaintenanceReplaceSpec":{"type":"object","description":"Desired maintenance window configuration for a managed database service, given in full","properties":{"startTimeUtc":{"type":"string","description":"Preferred start time for maintenance windows, in HH:MM UTC format"}},"required":["startTimeUtc"]},"publicCloud.database.MaintenanceSpec":{"type":"object","description":"Desired maintenance window configuration for a managed database service","properties":{"startTimeUtc":{"type":"string","description":"Preferred start time for maintenance windows, in HH:MM UTC format","nullable":true}}},"publicCloud.database.NetworkCurrentState":{"type":"object","description":"Current network configuration of a managed database service","properties":{"authorizedIps":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.AuthorizedIps"}],"description":"Current IP authorization configuration of the service","nullable":true,"readOnly":true},"networkId":{"type":"string","description":"Private network identifier this service is attached to","nullable":true,"format":"uuid","readOnly":true},"public":{"type":"boolean","description":"True while the service is published on a public address, false while it is not. Null for an engine or a service that does not support public exposure.","nullable":true,"readOnly":true},"subnetId":{"type":"string","description":"Subnet identifier within the private network","nullable":true,"format":"uuid","readOnly":true}}},"publicCloud.database.NetworkReplaceSpec":{"type":"object","description":"Replaceable network configuration for a managed database service. Network and subnet identifiers are immutable after creation. Public exposure is not part of it: a replacement keeps it as it is, and a partial update changes it.","properties":{"authorizedIps":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.AuthorizedIpsReplace"}],"description":"IP authorization configuration to apply to the service"}},"required":["authorizedIps"]},"publicCloud.database.NetworkSpec":{"type":"object","description":"Network configuration for a managed database service","properties":{"authorizedIps":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.AuthorizedIps"}],"description":"IP authorization configuration to apply to the service","nullable":true},"networkId":{"type":"string","description":"Private network identifier to attach the service to. Immutable after creation.","nullable":true,"format":"uuid"},"public":{"type":"boolean","description":"Set to true to publish the service on a public address once it is created: a public IP address in front of the service, and a public domain name with TLS. The authorized IPs apply to the public address as they do to the private one. Null or absent keeps the service private. Engines and services that do not support public exposure ignore this field.","nullable":true},"subnetId":{"type":"string","description":"Subnet identifier within the private network. Immutable after creation.","nullable":true,"format":"uuid"}}},"publicCloud.database.NetworkUpdateSpec":{"type":"object","description":"Updatable network configuration for a managed database service. Network and subnet identifiers are immutable after creation.","properties":{"authorizedIps":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.AuthorizedIps"}],"description":"IP authorization configuration to apply to the service","nullable":true},"public":{"type":"boolean","description":"Set to true to publish the service on a public address: a public IP address in front of the service, and a public domain name with TLS. Set to false to take it off that address. The authorized IPs apply to the public address as they do to the private one. Null or absent keeps the current exposure. Engines and services that do not support public exposure ignore this field.","nullable":true}}},"publicCloud.database.Node":{"type":"object","description":"A cluster node belonging to a managed database service","properties":{"createdAt":{"type":"string","description":"Date at which the node was created","format":"date-time","readOnly":true},"flavor":{"type":"string","description":"Compute flavor of the node","readOnly":true},"id":{"type":"string","description":"Unique identifier of the node","format":"uuid","readOnly":true},"location":{"allOf":[{"$ref":"#/components/schemas/publicCloud.common.Location"}],"description":"Location of this node","readOnly":true},"name":{"type":"string","description":"Name of the node","readOnly":true},"port":{"type":"integer","description":"TCP port on which the node listens","readOnly":true},"role":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.NodeRoleEnum"}],"description":"Role of this node within the cluster","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/common.ResourceStatusEnum"}],"description":"Current readiness status of the node","readOnly":true}}},"publicCloud.database.NodeRoleEnum":{"type":"string","description":"Role of a node within a managed database service cluster","enum":["ANALYTICS","PRIMARY","SECONDARY","STANDBY"]},"publicCloud.database.SSLModeEnum":{"type":"string","description":"SSL mode of the connection pool of the managed database and analytics service","enum":["REQUIRE"]},"publicCloud.database.Service":{"type":"object","description":"A managed database service","properties":{"checksum":{"type":"string","description":"Hash of the resource used for concurrency control","readOnly":true},"createdAt":{"type":"string","description":"Date at which the service was created","format":"date-time","readOnly":true},"currentState":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.ServiceCurrentState"}],"description":"Current configuration deployed on the service","readOnly":true},"currentTasks":{"type":"array","description":"Asynchronous operations currently running on the service","nullable":true,"items":{"$ref":"#/components/schemas/common.CurrentTask"},"readOnly":true},"id":{"type":"string","description":"Unique identifier of the service","format":"uuid","readOnly":true},"resourceStatus":{"allOf":[{"$ref":"#/components/schemas/common.ResourceStatusEnum"}],"description":"Readiness status of the service. A new target specification is accepted only in READY status.","readOnly":true},"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.ServiceTargetSpec"}],"description":"Last requested target specification for the service","readOnly":true},"updatedAt":{"type":"string","description":"Date of the last update to the service","format":"date-time","readOnly":true}}},"publicCloud.database.ServiceCreation":{"type":"object","description":"Input parameters for creating a managed database service","properties":{"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.ServiceCreationTargetSpec"}],"description":"Desired configuration of the new service"}},"required":["targetSpec"]},"publicCloud.database.ServiceCreationTargetSpec":{"type":"object","description":"Desired state of a managed database service at creation time. Extends the update target specification with immutable creation-time fields.","properties":{"backup":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.BackupSpec"}],"description":"Backup configuration for the new service","nullable":true},"deletionProtected":{"type":"boolean","description":"Whether to protect this service from accidental deletion. Defaults to false.","nullable":true},"description":{"type":"string","description":"Human-readable description of the service","nullable":true},"flavor":{"type":"string","description":"Compute flavor for the nodes of the cluster. All the nodes of a cluster share the same flavor. Available flavors can be retrieved from the capabilities endpoint."},"forkSourceBackupId":{"type":"string","description":"Identifier of the backup to restore from when forking. Mutually exclusive with forkSourcePointInTime. When both are null and forkSourceServiceId is set, the latest backup is used.","nullable":true,"format":"uuid"},"forkSourcePointInTime":{"type":"string","description":"Point-in-time to restore from when forking. Mutually exclusive with forkSourceBackupId. Requires the source service to have PITR enabled.","nullable":true,"format":"date-time"},"forkSourceServiceId":{"type":"string","description":"Identifier of an existing service to fork from. When set, the new service is created from a backup of the source service.","nullable":true,"format":"uuid"},"maintenanceWindow":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.MaintenanceSpec"}],"description":"Maintenance window configuration for the service","nullable":true},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.NetworkSpec"}],"description":"Network configuration for the new service","nullable":true},"nodesCount":{"type":"integer","description":"Number of nodes composing the cluster. When null, the minimum node count of the plan is applied. The accepted range for a given plan is exposed as specifications.nodes.minimum and specifications.nodes.maximum on the availability endpoint.","nullable":true},"plan":{"type":"string","description":"Service plan. Available plans can be retrieved from the capabilities endpoint."},"prometheusEnabled":{"type":"boolean","description":"Whether to enable Prometheus monitoring on this service","nullable":true},"region":{"allOf":[{"$ref":"#/components/schemas/common.RegionEnum"}],"description":"Region in which the nodes of the cluster are deployed. All the nodes of a cluster share the same region. Immutable after creation. Available regions can be retrieved from the availability endpoint."},"storage":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.Storage"}],"description":"Storage configuration for the service. Applies only to engines using block storage.","nullable":true},"version":{"type":"string","description":"Engine version to deploy on the cluster. Available versions can be retrieved from the capabilities endpoint."}},"required":["flavor","plan","region","version"]},"publicCloud.database.ServiceCurrentState":{"type":"object","description":"Current state of a managed database service as deployed by the system","properties":{"advancedConfiguration":{"type":"object","description":"Current advanced configuration key-value pairs. Null for engines that do not support advanced configuration.","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"backup":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.BackupCurrentState"}],"description":"Current backup configuration of the service","nullable":true,"readOnly":true},"capabilities":{"type":"object","description":"Map of capabilities available for this service, keyed by capability name. Each entry describes which CRUD actions are enabled or disabled.","additionalProperties":{"$ref":"#/components/schemas/publicCloud.database.service.CapabilityActions"},"readOnly":true},"deletionProtected":{"type":"boolean","description":"Whether deletion of this service is protected. A protected service cannot be deleted until this flag is set to false.","readOnly":true},"description":{"type":"string","description":"Human-readable description of the service","nullable":true,"readOnly":true},"endpoints":{"type":"array","description":"Connection endpoints exposed by this service","items":{"$ref":"#/components/schemas/publicCloud.database.Endpoint"},"readOnly":true},"engineCapabilities":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.ServiceEngineCapabilities"}],"description":"Engine-specific capabilities of this service","nullable":true,"readOnly":true},"flavor":{"type":"string","description":"Compute flavor used by the nodes of this service. Null when flavor is determined by the plan.","nullable":true,"readOnly":true},"maintenanceWindow":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.MaintenanceCurrentState"}],"description":"Current maintenance window configuration of the service","nullable":true,"readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.NetworkCurrentState"}],"description":"Current network configuration of the service","nullable":true,"readOnly":true},"nodes":{"type":"array","description":"Nodes composing this service cluster","items":{"$ref":"#/components/schemas/publicCloud.database.Node"},"readOnly":true},"nodesCount":{"type":"integer","description":"Number of nodes currently composing the cluster. While the cluster is being created or scaled, this reflects the number of nodes requested rather than the number already deployed in nodes.","readOnly":true},"plan":{"type":"string","description":"Service plan currently applied","readOnly":true},"prometheusEnabled":{"type":"boolean","description":"Whether Prometheus monitoring is enabled on this service","nullable":true,"readOnly":true},"status":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.service.StatusEnum"}],"description":"Operational status of the service as reported by the database engine","readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.Storage"}],"description":"Storage configuration of the service. Null for engines that do not use block storage.","nullable":true,"readOnly":true},"version":{"type":"string","description":"Engine version currently running","readOnly":true}}},"publicCloud.database.ServiceEngineCapabilities":{"type":"object","description":"Engine-specific capabilities of a managed database or analytics service","properties":{"advancedConfigurationProperties":{"type":"array","description":"Available advanced configuration properties and their constraints. Null for engines that do not support advanced configuration.","nullable":true,"items":{"$ref":"#/components/schemas/publicCloud.database.capabilities.AdvancedConfigurationProperty"},"readOnly":true},"backupRegions":{"type":"array","description":"Available regions for backup storage. Null for engines that do not support cross-region backups.","nullable":true,"items":{"type":"string"},"readOnly":true},"categories":{"type":"array","description":"Available command categories. Only applicable to Valkey services.","nullable":true,"items":{"type":"string"},"readOnly":true},"commands":{"type":"array","description":"Available commands. Only applicable to Valkey services.","nullable":true,"items":{"type":"string"},"readOnly":true},"connectors":{"type":"array","description":"Available connector types. Only applicable to Kafka Connect services.","nullable":true,"items":{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorCapability"},"readOnly":true},"integrations":{"type":"array","description":"Available integration types and their parameters","nullable":true,"items":{"$ref":"#/components/schemas/publicCloud.database.capabilities.IntegrationCapability"},"readOnly":true}}},"publicCloud.database.ServiceReplace":{"type":"object","description":"Input parameters for replacing the configuration of a managed database service. Every field is required: the request describes the whole desired configuration.","properties":{"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.ServiceReplaceTargetSpec"}],"description":"Desired configuration of the service"}},"required":["targetSpec"]},"publicCloud.database.ServiceReplaceTargetSpec":{"type":"object","description":"Desired state of a managed database service, given in full. Changes are applied asynchronously.","properties":{"advancedConfiguration":{"type":"object","description":"Advanced configuration key-value pairs to apply to the service. Null for engines that do not support advanced configuration.","nullable":true,"additionalProperties":{"type":"string"}},"backup":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.BackupReplaceSpec"}],"description":"Backup configuration for the service. Null for engines that do not support backups.","nullable":true},"deletionProtected":{"type":"boolean","description":"Whether to protect this service from accidental deletion"},"description":{"type":"string","description":"Human-readable description of the service. Null removes the description.","nullable":true},"flavor":{"type":"string","description":"Desired compute flavor for the nodes. Available flavors can be retrieved from the capabilities endpoint."},"maintenanceWindow":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.MaintenanceReplaceSpec"}],"description":"Maintenance window configuration for the service"},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.NetworkReplaceSpec"}],"description":"Updatable network configuration for the service. Only IP restrictions can be modified after creation."},"nodesCount":{"type":"integer","description":"Desired number of nodes composing the cluster. Increasing or decreasing this value scales the cluster. The value must stay within the range accepted by the plan, exposed as specifications.nodes.minimum and specifications.nodes.maximum on the availability endpoint."},"plan":{"type":"string","description":"Desired service plan. Available plans can be retrieved from the capabilities endpoint."},"prometheusEnabled":{"type":"boolean","description":"Whether to enable Prometheus monitoring on this service. Null for engines that do not expose a Prometheus endpoint.","nullable":true},"storage":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.StorageReplaceSpec"}],"description":"Updatable storage configuration. Only size can be modified after creation. Null for engines that do not use block storage.","nullable":true},"version":{"type":"string","description":"Desired engine version. Available versions can be retrieved from the capabilities endpoint."}},"required":["advancedConfiguration","backup","deletionProtected","description","flavor","maintenanceWindow","network","nodesCount","plan","prometheusEnabled","storage","version"]},"publicCloud.database.ServiceTargetSpec":{"type":"object","description":"Desired state of a managed database service. Changes are applied asynchronously.","properties":{"advancedConfiguration":{"type":"object","description":"Advanced configuration key-value pairs requested for the service. Null for engines that do not support advanced configuration.","nullable":true,"additionalProperties":{"type":"string"},"readOnly":true},"backup":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.BackupSpec"}],"description":"Requested backup configuration for the service","nullable":true,"readOnly":true},"deletionProtected":{"type":"boolean","description":"Whether deletion protection is requested on this service","nullable":true,"readOnly":true},"description":{"type":"string","description":"Human-readable description of the service","nullable":true,"readOnly":true},"flavor":{"type":"string","description":"Requested compute flavor for the nodes","nullable":true,"readOnly":true},"maintenanceWindow":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.MaintenanceSpec"}],"description":"Requested maintenance window configuration for the service","nullable":true,"readOnly":true},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.NetworkUpdateSpec"}],"description":"Requested network configuration for the service. Only IP restrictions can change after creation.","nullable":true,"readOnly":true},"nodesCount":{"type":"integer","description":"Requested number of nodes composing the cluster","nullable":true,"readOnly":true},"plan":{"type":"string","description":"Requested service plan","nullable":true,"readOnly":true},"prometheusEnabled":{"type":"boolean","description":"Whether Prometheus monitoring is requested on this service. Null for engines that do not expose a Prometheus endpoint.","nullable":true,"readOnly":true},"storage":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.StorageUpdateSpec"}],"description":"Requested storage configuration. Only size can change after creation. Null for engines that do not use block storage.","nullable":true,"readOnly":true},"version":{"type":"string","description":"Requested engine version","nullable":true,"readOnly":true}}},"publicCloud.database.ServiceUpdate":{"type":"object","description":"Input parameters for updating a managed database service","properties":{"targetSpec":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.ServiceUpdateTargetSpec"}],"description":"Desired configuration of the service"}},"required":["targetSpec"]},"publicCloud.database.ServiceUpdateTargetSpec":{"type":"object","description":"Changes to apply to a managed database service. Fields left out keep their current value. Changes are applied asynchronously.","properties":{"advancedConfiguration":{"type":"object","description":"Advanced configuration key-value pairs to apply to the service. Null for engines that do not support advanced configuration.","nullable":true,"additionalProperties":{"type":"string"}},"backup":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.BackupSpec"}],"description":"Backup configuration for the service","nullable":true},"deletionProtected":{"type":"boolean","description":"Whether to protect this service from accidental deletion. Omit or set to null to leave the current setting unchanged.","nullable":true},"description":{"type":"string","description":"Human-readable description of the service","nullable":true},"flavor":{"type":"string","description":"Desired compute flavor for the nodes. Available flavors can be retrieved from the capabilities endpoint.","nullable":true},"maintenanceWindow":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.MaintenanceSpec"}],"description":"Maintenance window configuration for the service","nullable":true},"network":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.NetworkUpdateSpec"}],"description":"Updatable network configuration for the service. Only IP restrictions can be modified after creation.","nullable":true},"nodesCount":{"type":"integer","description":"Desired number of nodes composing the cluster. Increasing or decreasing this value scales the cluster. The value must stay within the range accepted by the plan, exposed as specifications.nodes.minimum and specifications.nodes.maximum on the availability endpoint.","nullable":true},"plan":{"type":"string","description":"Desired service plan. Available plans can be retrieved from the capabilities endpoint.","nullable":true},"prometheusEnabled":{"type":"boolean","description":"Whether to enable Prometheus monitoring on this service. Null for engines that do not expose a Prometheus endpoint.","nullable":true},"storage":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.StorageUpdateSpec"}],"description":"Updatable storage configuration. Only size can be modified after creation. Null for engines that do not use block storage.","nullable":true},"version":{"type":"string","description":"Desired engine version. Available versions can be retrieved from the capabilities endpoint.","nullable":true}}},"publicCloud.database.Storage":{"type":"object","description":"Storage configuration of a managed database service","properties":{"size":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.UnitAndValue"}],"description":"Storage size allocated to the service","nullable":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.StorageTypeEnum"}],"description":"Type of storage used by the service. Immutable after creation.","nullable":true,"readOnly":true}}},"publicCloud.database.StorageReplaceSpec":{"type":"object","description":"Replaceable storage configuration for a managed database service. Storage type is immutable after creation.","properties":{"size":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.UnitAndValueReplace"}],"description":"Storage size allocated to the service"}},"required":["size"]},"publicCloud.database.StorageTypeEnum":{"type":"string","description":"Type of storage used by a managed database service","enum":["HIGH_SPEED","HIGH_SPEED_GEN2"]},"publicCloud.database.StorageUnitEnum":{"type":"string","description":"Unit for storage size values","enum":["GB","MB"]},"publicCloud.database.StorageUpdateSpec":{"type":"object","description":"Updatable storage configuration for a managed database service. Storage type is immutable after creation.","properties":{"size":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.UnitAndValue"}],"description":"Storage size allocated to the service","nullable":true}}},"publicCloud.database.UnitAndValue":{"type":"object","description":"A numeric size value with its associated unit","properties":{"unit":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.StorageUnitEnum"}],"description":"Unit of the value"},"value":{"type":"integer","description":"Numeric value"}}},"publicCloud.database.UnitAndValueReplace":{"type":"object","description":"A numeric size value with its associated unit","properties":{"unit":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.StorageUnitEnum"}],"description":"Unit of the value"},"value":{"type":"integer","description":"Numeric value"}},"required":["unit","value"]},"publicCloud.database.capabilities.AdvancedConfigurationProperty":{"type":"object","description":"Description of an advanced configuration property that can be set on a service","properties":{"default":{"type":"string","description":"Default value of the property. Null when the engine does not provide one.","nullable":true,"readOnly":true},"description":{"type":"string","description":"Description of the property","readOnly":true},"maximum":{"type":"number","description":"Maximum value if numeric and applicable","nullable":true,"readOnly":true},"minimum":{"type":"number","description":"Minimum value if numeric and applicable","nullable":true,"readOnly":true},"name":{"type":"string","description":"Property name","readOnly":true},"requiresRestart":{"type":"boolean","description":"Whether changing the property restarts the service. Null when the service does not report it.","nullable":true,"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.capabilities.AdvancedConfigurationPropertyTypeEnum"}],"description":"Data type of the property","readOnly":true},"values":{"type":"array","description":"Possible values if string type and applicable","nullable":true,"items":{"type":"string"},"readOnly":true}}},"publicCloud.database.capabilities.AdvancedConfigurationPropertyTypeEnum":{"type":"string","description":"Data type of an advanced configuration property","enum":["BOOLEAN","DOUBLE","LONG","STRING"]},"publicCloud.database.capabilities.IntegrationCapability":{"type":"object","description":"An available integration type between database engines","properties":{"destinationEngine":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.EngineEnum"}],"description":"Destination engine for the integration","readOnly":true},"parameters":{"type":"array","description":"Parameters for the integration","nullable":true,"items":{"$ref":"#/components/schemas/publicCloud.database.capabilities.IntegrationParameter"},"readOnly":true},"sourceEngine":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.EngineEnum"}],"description":"Source engine for the integration","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.IntegrationTypeEnum"}],"description":"Type of the integration","readOnly":true}}},"publicCloud.database.capabilities.IntegrationParameter":{"type":"object","description":"A parameter for an integration capability","properties":{"name":{"type":"string","description":"Name of the parameter","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.capabilities.IntegrationParameterTypeEnum"}],"description":"Data type of the parameter","readOnly":true}}},"publicCloud.database.capabilities.IntegrationParameterTypeEnum":{"type":"string","description":"Data type of an integration capability parameter","enum":["INTEGER","STRING"]},"publicCloud.database.kafkaConnect.capabilities.ConnectorCapability":{"type":"object","description":"An available Kafka Connect connector type","properties":{"author":{"type":"string","description":"Author of the connector","readOnly":true},"configuration":{"type":"array","description":"Configuration properties for this connector type","nullable":true,"items":{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorConfigurationProperty"},"readOnly":true},"documentationUrl":{"type":"string","description":"URL of the connector documentation","nullable":true,"readOnly":true},"id":{"type":"string","description":"Unique identifier of the connector type","format":"uuid","readOnly":true},"latest":{"type":"boolean","description":"Whether this is the latest version available","readOnly":true},"name":{"type":"string","description":"Name of the connector","readOnly":true},"preview":{"type":"boolean","description":"Whether the connector is in preview","readOnly":true},"transforms":{"type":"array","description":"Available transforms for this connector type","nullable":true,"items":{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorTransform"},"readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorTypeEnum"}],"description":"Connector type (sink or source)","readOnly":true},"version":{"type":"string","description":"Version of the connector","readOnly":true}}},"publicCloud.database.kafkaConnect.capabilities.ConnectorConfigurationProperty":{"type":"object","description":"A configuration property for a Kafka Connect connector type","properties":{"defaultValue":{"type":"string","description":"Default value if applicable","nullable":true,"readOnly":true},"description":{"type":"string","description":"Description of the property","readOnly":true},"displayName":{"type":"string","description":"Display name of the property","readOnly":true},"group":{"type":"string","description":"Configuration group the property belongs to","readOnly":true},"importance":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorPropertyImportanceEnum"}],"description":"Importance level of the property","readOnly":true},"name":{"type":"string","description":"Property name","readOnly":true},"required":{"type":"boolean","description":"Whether the property is required","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorPropertyTypeEnum"}],"description":"Data type of the property","readOnly":true},"values":{"type":"array","description":"Possible values if applicable","nullable":true,"items":{"type":"string"},"readOnly":true}}},"publicCloud.database.kafkaConnect.capabilities.ConnectorPropertyImportanceEnum":{"type":"string","description":"Importance level of a Kafka Connect connector property","enum":["HIGH","LOW","MEDIUM"]},"publicCloud.database.kafkaConnect.capabilities.ConnectorPropertyTypeEnum":{"type":"string","description":"Data type of a Kafka Connect connector property","enum":["BOOLEAN","CLASS","DOUBLE","INT16","INT32","INT64","LIST","PASSWORD","STRING","TRANSFORM"]},"publicCloud.database.kafkaConnect.capabilities.ConnectorTransform":{"type":"object","description":"A transform definition for a Kafka Connect connector type","properties":{"description":{"type":"string","description":"Description of the transform","readOnly":true},"displayName":{"type":"string","description":"Display name of the transform","readOnly":true},"name":{"type":"string","description":"Name of the transform","readOnly":true},"required":{"type":"boolean","description":"Whether the transform is required","readOnly":true},"transformType":{"type":"string","description":"Transform type this relates to","readOnly":true},"type":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.kafkaConnect.capabilities.ConnectorPropertyTypeEnum"}],"description":"Data type of the transform","readOnly":true},"values":{"type":"array","description":"Possible values if applicable","nullable":true,"items":{"type":"string"},"readOnly":true}}},"publicCloud.database.kafkaConnect.capabilities.ConnectorTypeEnum":{"type":"string","description":"Type of Kafka Connect connector","enum":["SINK","SOURCE"]},"publicCloud.database.service.CapabilityActions":{"type":"object","description":"CRUD actions available for a capability on a service","properties":{"create":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.service.capability.StateEnum"}],"description":"Whether the capability supports creation","nullable":true,"readOnly":true},"delete":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.service.capability.StateEnum"}],"description":"Whether the capability supports deletion","nullable":true,"readOnly":true},"read":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.service.capability.StateEnum"}],"description":"Whether the capability supports reading","nullable":true,"readOnly":true},"update":{"allOf":[{"$ref":"#/components/schemas/publicCloud.database.service.capability.StateEnum"}],"description":"Whether the capability supports update","nullable":true,"readOnly":true}}},"publicCloud.database.service.StatusEnum":{"type":"string","description":"Operational status of a managed database or analytics service","enum":["CREATING","DELETING","DRAINED","ERROR","LOCKED","LOCKED_PENDING","LOCKED_UPDATING","PENDING","READY","SHELVED","TO_DRAIN","UPDATING"]},"publicCloud.database.service.capability.StateEnum":{"type":"string","description":"State of a capability for a service","enum":["DISABLED","ENABLED"]},"time":{"type":"string","description":"Time (e.g., 15:04:05)","format":"time","example":"15:04:05"}},"securitySchemes":{"oAuth2AuthCode":{"type":"oauth2","description":"Oauth2","x-client-id":"1bb9c7df371741c0","x-client-secret":"a5b4de870aca620d10fbf63cd18d205b","flows":{"authorizationCode":{"authorizationUrl":"https://auth.eu.ovhcloud.com/oauth2/authorize","tokenUrl":"https://auth.eu.ovhcloud.com/oauth2/token","scopes":{"account/all":"Manage your account","all":"Manage your whole account and all your services","services/all":"Manage your services lifecycle and billing"}}}}}},"paths":{"/publicCloud/project/{projectId}/managedAnalytics/opensearch":{"get":{"operationId":"getAllOpensearchServices","summary":"List OpenSearch services","description":"Returns the OpenSearch services of the project.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"header","name":"X-Pagination-Cursor","description":"Pagination cursor","schema":{"type":"string"}},{"in":"header","name":"X-Pagination-Size","description":"Pagination size","schema":{"type":"integer"}},{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/publicCloud.database.Service"}}}}}},"tags":["Managed Analytics","OpenSearch"],"x-developer-hub-navigation":[["Public Cloud","Analytics","OpenSearch@@@10"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:analytics/opensearch/get","required":true}],"x-response-identifier":"id","x-expanded-response":"PublicCloudDatabaseService"},"post":{"operationId":"createOpensearchService","summary":"Create an OpenSearch service","description":"Creates an OpenSearch service from a plan, a flavor and an engine version. Creation is asynchronous: follow resourceStatus until READY. Set forkSourceServiceId to create it from a backup of another service.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.ServiceCreation"},"examples":{"Create an OpenSearch 2 essential service":{"value":{"targetSpec":{"flavor":"db1-7","nodesCount":1,"plan":"essential","region":"eu-west-gra","version":"2"}},"summary":"Minimal creation request for a single-node OpenSearch service."},"Fork from an existing service":{"value":{"targetSpec":{"flavor":"db1-7","forkSourceServiceId":"3a52e69b-e30d-4b78-a04f-7c3c1d2e5f9a","nodesCount":1,"plan":"essential","region":"eu-west-gra","version":"2"}},"summary":"Create a new OpenSearch service from the latest backup of another service."}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.Service"}}}}},"tags":["Managed Analytics","OpenSearch"],"x-developer-hub-navigation":[["Public Cloud","Analytics","OpenSearch@@@30"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: publicCloud.database.ServiceCreation\nresult = client.post(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch\",\n\ttargetSpec = None, # Desired configuration of the new service (type: publicCloud.database.ServiceCreationTargetSpec)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: publicCloud.database.ServiceCreation\n$result = $ovh->post(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch\", array(\n\ttargetSpec => null, // Desired configuration of the new service (type: publicCloud.database.ServiceCreationTargetSpec)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:analytics/opensearch/create","required":true}]}},"/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}":{"delete":{"operationId":"deleteOpensearchService","summary":"Delete an OpenSearch service","description":"Deletes the service. A service with deletion protection enabled cannot be deleted.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceId","description":"Service ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.Service"}}}}},"tags":["Managed Analytics","OpenSearch"],"x-developer-hub-navigation":[["Public Cloud","Analytics","OpenSearch@@@40"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.delete(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->delete(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:analytics/opensearch/delete","required":true}]},"get":{"operationId":"getOpensearchService","summary":"Get an OpenSearch service","description":"Returns the target specification of the service, its current state and its running tasks.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceId","description":"Service ID","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.Service"},"examples":{"Ready OpenSearch service":{"value":{"checksum":"abc123","createdAt":"2025-01-15T10:00:00Z","currentState":{"backup":{"regions":["eu-west-gra"],"time":"03:00"},"capabilities":{},"deletionProtected":false,"description":null,"endpoints":[{"component":"OPENSEARCH","domain":"opensearch-3a52e69b.database.cloud.ovh.net","path":null,"port":9200,"scheme":"https","ssl":true,"sslMode":"REQUIRE","uri":"https://opensearch-3a52e69b.database.cloud.ovh.net:9200"},{"component":"OPENSEARCH_DASHBOARDS","domain":"opensearch-3a52e69b.database.cloud.ovh.net","path":null,"port":5601,"scheme":"https","ssl":true,"sslMode":"REQUIRE","uri":"https://opensearch-3a52e69b.database.cloud.ovh.net:5601"}],"flavor":"db1-15","maintenanceWindow":{"startTimeUtc":"02:00"},"network":{"authorizedIps":{"rules":[]},"networkId":null,"subnetId":null},"nodes":[{"createdAt":"2025-01-15T10:00:00Z","flavor":"db1-15","id":"7c1d3e2f-4a5b-6c7d-8e9f-0a1b2c3d4e5f","location":{"region":"eu-west-gra"},"name":"opensearch-3a52e69b-001","port":9200,"role":"PRIMARY","status":"READY"},{"createdAt":"2025-01-15T10:00:00Z","flavor":"db1-15","id":"7c1d3e2f-4a5b-6c7d-8e9f-0a1b2c3d4e52","location":{"region":"eu-west-gra"},"name":"opensearch-3a52e69b-002","port":9200,"role":"SECONDARY","status":"READY"},{"createdAt":"2025-01-15T10:00:00Z","flavor":"db1-15","id":"7c1d3e2f-4a5b-6c7d-8e9f-0a1b2c3d4e53","location":{"region":"eu-west-gra"},"name":"opensearch-3a52e69b-003","port":9200,"role":"SECONDARY","status":"READY"}],"nodesCount":3,"plan":"business","prometheusEnabled":null,"status":"READY","storage":{"size":{"unit":"GB","value":480},"type":"HIGH_SPEED"},"version":"2"},"currentTasks":[],"id":"3a52e69b-e30d-4b78-a04f-7c3c1d2e5f9a","resourceStatus":"READY","targetSpec":{"backup":{"regions":["eu-west-gra"],"time":"03:00"},"deletionProtected":false,"description":null,"flavor":"db1-15","maintenanceWindow":{"startTimeUtc":"02:00"},"network":{"authorizedIps":{"rules":[]}},"nodesCount":3,"plan":"business","prometheusEnabled":null,"storage":{"size":{"unit":"GB","value":480}},"version":"2"},"updatedAt":"2025-01-15T10:15:00Z"},"summary":"An OpenSearch service in READY state with one node."}}}}}},"tags":["Managed Analytics","OpenSearch"],"x-developer-hub-navigation":[["Public Cloud","Analytics","OpenSearch@@@20"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\nresult = client.get(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\")\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n$result = $ovh->get(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\");\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:analytics/opensearch/get","required":true}],"x-response-identifier":"id"},"patch":{"operationId":"updateOpensearchService","summary":"Partially update an OpenSearch service","description":"Partially updates the target specification of the service, for example its plan, flavor, version or number of nodes. Omitted fields keep their current value. A new target specification is accepted only in READY status.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceId","description":"Service ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.ServiceUpdate"},"examples":{"Upgrade to business plan":{"value":{"targetSpec":{"flavor":"db1-15","plan":"business","storage":{"size":{"unit":"GB","value":480}},"version":"2"}},"summary":"Upgrade an OpenSearch service to the business plan."}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.Service"}}}}},"tags":["Managed Analytics","OpenSearch"],"x-developer-hub-navigation":[["Public Cloud","Analytics","OpenSearch@@@60"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: publicCloud.database.ServiceUpdate\nresult = client.patch(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\",\n\ttargetSpec = None, # Desired configuration of the service (type: publicCloud.database.ServiceUpdateTargetSpec)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: publicCloud.database.ServiceUpdate\n$result = $ovh->patch(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\", array(\n\ttargetSpec => null, // Desired configuration of the service (type: publicCloud.database.ServiceUpdateTargetSpec)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:analytics/opensearch/edit","required":true}]},"put":{"operationId":"editOpensearchService","summary":"Update an OpenSearch service","description":"Updates the target specification of the service, for example its plan, flavor, version or number of nodes. Every field is required: the request describes the whole configuration. A new target specification is accepted only in READY status.","security":[{"oAuth2AuthCode":[]}],"parameters":[{"in":"path","name":"projectId","description":"Project ID","required":true,"schema":{"type":"string"}},{"in":"path","name":"serviceId","description":"Service ID","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.ServiceReplace"},"examples":{"Replace the whole configuration":{"value":{"targetSpec":{"advancedConfiguration":{},"backup":{"regions":["eu-west-gra"],"time":"05:00"},"deletionProtected":false,"description":null,"flavor":"db1-30","maintenanceWindow":{"startTimeUtc":"04:00"},"network":{"authorizedIps":{"rules":[]}},"nodesCount":6,"plan":"enterprise","prometheusEnabled":null,"storage":{"size":{"unit":"GB","value":960}},"version":"2.14"}},"summary":"Every targetSpec field is sent, including the ones left unchanged: the body describes the whole desired configuration of the OpenSearch service."}}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/publicCloud.database.Service"}}}}},"tags":["Managed Analytics","OpenSearch"],"x-developer-hub-navigation":[["Public Cloud","Analytics","OpenSearch@@@50"]],"x-badges":[{"color":"blue","label":"Beta version"}],"x-code-samples":[{"lang":"python","label":"Python","source":"'''\nFirst, install the latest release of Python wrapper: $ pip install ovh\n'''\nimport json\nimport ovh\n\n# Instantiate an OVH Client.\n# You can generate new credentials with full access to your account on\n# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\nclient = ovh.Client(\n\tendpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n\tapplication_key='xxxxxxxxxx',    # Application Key\n\tapplication_secret='xxxxxxxxxx', # Application Secret\n\tconsumer_key='xxxxxxxxxx',       # Consumer Key\n)\n\n# Request body type: publicCloud.database.ServiceReplace\nresult = client.put(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\",\n\ttargetSpec = None, # Desired configuration of the service (type: publicCloud.database.ServiceReplaceTargetSpec)\n)\n\n# Pretty print\nprint(json.dumps(result, indent=4))"},{"lang":"php","label":"PHP","source":"<?php\n/**\n * First, download the latest release of PHP wrapper on github\n * And include this script into the folder with extracted files\n */\nrequire __DIR__ . '/vendor/autoload.php';\nuse \\Ovh\\Api;\n\n/**\n * Instantiate an OVH Client.\n * You can generate new credentials with full access to your account on\n * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)\n */\n$ovh = new Api('xxxxxxxxxx',  // Application Key\n               'xxxxxxxxxx',  // Application Secret\n               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)\n               'xxxxxxxxxx'); // Consumer Key\n\n// Request body type: publicCloud.database.ServiceReplace\n$result = $ovh->put(\"/v2/publicCloud/project/{projectId}/managedAnalytics/opensearch/{serviceId}\", array(\n\ttargetSpec => null, // Desired configuration of the service (type: publicCloud.database.ServiceReplaceTargetSpec)\n));\n\nprint_r($result);\n?>"}],"x-iam-actions":[{"name":"publicCloudProject:apiovh:analytics/opensearch/edit","required":true}]}}},"tags":[{"name":"Managed Analytics","x-tag-expanded":false,"description":"Missing description"},{"name":"OpenSearch","x-tag-expanded":false,"description":"Missing description"}]}
